2017-09-10 61 views
0

我發現很難將鑲木地板文件加載到配置單元表中。我正在致力於Amazon EMR集羣和Spark處理數據。但我需要閱讀輸出地板文件來驗證我的轉換。我有以下模式的實木複合地板的文件:從鑲木地板文件創建Hive表並加載數據

root 
|-- ATTR_YEAR: long (nullable = true) 
|-- afil: struct (nullable = true) 
| |-- clm: struct (nullable = true) 
| | |-- amb: struct (nullable = true) 
| | | |-- L: string (nullable = true) 
| | | |-- cdTransRsn: string (nullable = true) 
| | | |-- dist: struct (nullable = true) 
| | | | |-- T: string (nullable = true) 
| | | | |-- content: double (nullable = true) 
| | | |-- dscStrchPurp: string (nullable = true) 
| | |-- amt: struct (nullable = true) 
| | | |-- L: string (nullable = true) 
| | | |-- T: string (nullable = true) 
| | | |-- content: double (nullable = true) 
| | |-- amtTotChrg: double (nullable = true) 
| | |-- cdAccState: string (nullable = true) 
| | |-- cdCause: string (nullable = true) 

如何使用這種類型的模式我創建蜂巢外部表和拼花文件加載到該配置單元表進行分析?

回答

0

您可以使用Catalog.createExternalTable(2.2之前的Spark)或Catalog.createTable(Spark 2.2及更高版本)。

Catalog實例可以使用SparkSession訪問:

val spark: SparkSession 
spark.catalog.createTable(...) 

會議應與蜂巢支持初始化功能。

+0

我不知道什麼放在createTable(...這裏...)。我只有木地板文件,並沒有單獨存儲架構/元數據文件。我可以用這些鑲木地板文件創建一個數據框,並在我的問題中粘貼printSchema()。現在如何創建表?在蜂巢中使用這種類型的嵌套模式是我的問題? – qubiter

相關問題