首页 > 解决方案 > 我们可以从 Spark 的 StructType 为 Hive 创建一个 avsc 文件吗?

问题描述

我们正在创建一个分区的配置单元表(外部)。我们创建一个 hdfs 文件夹并在文件夹中放置多个分区的 AVRO 文件。

我们正在使用 Apache spark 生成 Avro 文件。

然后我们读取 hdfs 文件夹中存在的任何“.avro”文件并创建 JSON(然后是 avsc 文件)。然后我们使用存在的数据和创建的 avsc 文件创建 hive 表。

CREATE TABLE avro_tbl
ROW FORMAT SERDE
'org.apache.hadoop.hive.serde2.avro.AvroSerDe'
STORED AS INPUTFORMAT
'org.apache.hadoop.hive.ql.io.avro.AvroContainerInputFormat'
OUTPUTFORMAT
org.apache.hadoop.hive.ql.io.avro.AvroContainerOutputFormat'
LOCATION 'hdfs://</path/to/avro_file/>'
TBLPROPERTIES (
'avro.schema.url'='/hdfs/path/to/avro_schema_file.avsc'); 

但我想在我们将任何数据保存在 hdfs 上之前创建 avsc 文件。我们在代码中有 Avro 文件的模式。

这可能吗?

谢谢阿努杰

标签: apache-sparkhive

解决方案


推荐阅读