[英]in Hive SQL, create table based on columns from another table with partition key
我想根據現有表中的列創建一個新表,在 hive 中添加一個新分區 col。
我想在 hive sql 中實現目標。
除了下面的 sql 或使用 ETL 工具(如kettle)之外,還有其他方法嗎?
如果不存在則創建表 table_name(
列1,
col2,
col3,
……,
冒號
) 由 dt 分區;
其中 col1 到 coln 來自已經存在的舊表,而 dt 是新添加的分區鍵。
因為舊表太大,可能有數百列,列出它們會很累。
但是,以下sql顯示語法錯誤:
如果不存在則創建表 table_name 就像由 dt 分區的 old_table_name;
所以我想知道有沒有其他更好的方法可以在 hive sql 中解決這個問題? 謝謝你。
如果所有列和 dt 列都可以使用以下方式創建分區表:
CREATE TABLE newtable (col1 int, col2 string) PARTITIONED BY (dt string) AS
SELECT col1 , col2, dt FROM oldtable WHERE dt is not null;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.