gpt4 book ai didi

hadoop - 在创建需要动态配对的 Hive 表时,是否有任何列顺序?

转载 作者:可可西里 更新时间:2023-11-01 16:36:29 26 4
gpt4 key购买 nike

我正在尝试将 RDBMS 表加载到 Hive 中。我需要根据列数据对表进行动态分区。我有如下所示的 Greenplum 表架构:

forecast_id:bigint
period_year:numeric(15,0)
period_num:numeric(15,0)
period_name:character varying(15)
drm_org:character varying(10)
ledger_id:bigint
currency_code:character varying(15)
source_system_name:character varying(30)
source_record_type:character varying(30)
xx_last_update_log_id:integer
xx_data_hash_code:character varying(32)
xx_data_hash_id:bigint
xx_pk_id:bigint

当我在 Hive 上检查同一个表的模式(通常在 Hive 上复制)时,我做了 describe extended tablename 并得到了以下模式:

forecast_id             bigint
period_year bigint
period_num bigint
period_name string
drm_org string
ledger_id bigint
currency_code string
source_record_type string
xx_last_update_log_id int
xx_data_hash_code string
xx_data_hash_id bigint
xx_pk_id bigint
source_system_name String

所以我问我的领导为什么 column: source_system_name 在 Hive 表的末尾给出,我得到的答案是:“The columns that are used to partition the hive table dynamically,出现在表格的末尾”

Hive 表动态分区的列是否应该位于架构的末尾?

最佳答案

当您在 Hive 中进行动态分区时,列的顺序很重要。您可以找到更多详细信息 here .来自文档

In INSERT ... SELECT ... queries, the dynamic partition columns must be specified last among the columns in the SELECT statement and in the same order in which they appear in the PARTITION() clause.

关于hadoop - 在创建需要动态配对的 Hive 表时,是否有任何列顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51706563/

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