2016-07-28 85 views
0

我只是按照此創建一個簡單的鑲木地板文件。從鑲木地板表中選擇返回蜂巢中的任何內容

Scala> val sqlContext = new org.apache.spark.sql.SQLContext(sc) 
Scala> val employee = sqlContext.read.json(「employee」) 
Scala> employee.write.parquet(「employee.parquet」) 

地板文件被創建並很好。

然後,我創建一個配置單元外部表,將此employee.parquet作爲我的位置。請注意它是正常的文件系統路徑沒有s3://或hdfs。

這是我的蜂巢表中創建查詢:

create external table employees (a String, b String, c Int) stored as PARQUET location '/Users/Sumit/Documents/Repos/misc_codes/employees.parquet'; 

它說OK,創建意思表。它甚至出現在展示桌上;

但是當我做:

select * from employees; 

它沒有返回,只是確定。我相信我有3條在我的employee.json這樣的:

{"age": 50, "name": "adi", "title": "sir"} 
{"age": 60, "name": "jyoti", "title": "mam"} 
{"age": 14, "name": "sumit", "title": "baalak"} 

,它是作爲一個地板文件中獲取成功生成,在哪裏我會錯呢?

感謝,

回答

0

在蜂巢表應與在JSON文件名稱的列名,雖然列的順序不就事論事

create external table employees (name String, title String, age Int) stored as PARQUET location '/Users/Sumit/Documents/Repos/misc_codes/employees.parquet';