繁体   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