gpt4 book ai didi

hive - 从 orc 文件创建 hive 表而不指定架构

转载 作者:行者123 更新时间:2023-12-03 14:59:47 24 4
gpt4 key购买 nike

我有一份在 hadoop 集群之间传输配置单元表的工作。
我所做的是从源 hadoop 集群下载 orc 文件,然后使用以下命令将 orc 文件上传到目标 hdfs 集群。

hadoop fs -get 
hadoop fs -put

在spark应用中可以通过以下方式读取目标hadoop clustr中的orc文件:
df = sqlContext.sql('select * from orc.`path_to_where_orc_file_is`') 

但是,目标hadoop集群中的hive内没有对应的表。

有没有办法从 hdfs 中的 orc 文件在 hive 中创建表而不指定 ddl 或架构?
由于 orc 文件本身包含架构信息。

我问这个问题的原因是因为原始 hive 表的架构非常嵌套并且有很多字段。

目前我能想到的唯一解决方案是在 spark 中读取这些 orc 文件,然后使用 saveAsTable 选项将它们写出来,如下所示:
dfTable.write.format("orc").mode(SaveMode.Overwrite).saveAsTable("db1.test1")

最佳答案

val table= spark.read.orc("hdfspath")
table.printSchema

表是一个数据框,其中包含架构。

关于hive - 从 orc 文件创建 hive 表而不指定架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39467068/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com