首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用BQ Load加载ORC文件时保留BQ表架构

使用BQ Load加载ORC文件时保留BQ表架构
EN

Stack Overflow用户
提问于 2019-06-25 18:56:43
回答 1查看 180关注 0票数 0

当使用"bq Load“命令将ORC文件加载到现有的BQ表时,我观察到一旦加载了数据,表模式(表的列名)也会发生变化。

要求是将ORC从GCS加载到BigQuery中的临时表。这一步我试图使用"bq load“命令来实现,但是它改变了表的现有模式。

示例代码:

bq load --replace --source_format=ORC表gs:// some_dateset.some_table_staging _bucket/some_table/*

我希望保留ORC表中的实际列名,即使在我将BigQuery文件加载到表中之后也是如此。但是到目前为止,表的列名根据ORC文件模式进行了更改

EN

回答 1

Stack Overflow用户

发布于 2019-08-14 22:34:39

我用AVRO和ORC文件测试了你在我的数据上提供的bq load命令。

  1. --replace or replace=true

标志应为erase all data, and is doing so

因此,实际上正在发生的事情是,所有的表和模式都被擦除并替换为文件中的新表和模式。

  • 如果您想要将数据追加到需要使用的表中

--noreplace or --replace=false

仅当您的ORC文件架构与表中已存在的架构相同时,此标志才有效。

--schema_update_option=ALLOW_FIELD_ADDITION

最后,在你的用例中,你只需要使用:

bq load --schema_update_option=ALLOW_FIELD_ADDITION --source_format=ORC <project_id>:<schema>.<table> gs://<bucket_name>/<file_name>

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56752497

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档