簡體   English   中英

如何使用databricks從AVRO文件創建Hive外部表?

[英]How do I create a Hive External table from AVRO files writen using databricks?

下面的代碼是如何使用scala將其寫入HDFS。 創建Hive表以查詢此數據的HQL語法是什么?

import com.databricks.spark.avro._
val path = "/user/myself/avrodata"
dataFrame.write.avro(path)

我發現的示例需要提供avro.schema.literal來描述模式,或者提供avro.schema.url到實際的avro模式。

在spark-shell中,我需要做的就是閱讀:

scala> import com.databricks.spark.avro._
scala> val df = sqlContext.read.avro("/user/myself/avrodata")
scala> df.show()

所以我作弊要讓它發揮作用。 基本上我創建了一個臨時表,並使用HQL來創建和插入臨時表中的數據。 此方法使用臨時表中的元數據並創建我想要創建和填充的avro目標表。 如果數據框可以從其模式創建臨時表,為什么不能將表保存為avro?

dataFrame.registerTempTable("my_tmp_table")
sqlContext.sql(s"create table ${schema}.${tableName} stored as avro as select * from ${tmptbl}")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM