2017-04-18 4 views
0

私たちが直面している設計上の問題です。 寄木張りの書式でスキーマを変更する方法

は、私は次の列で、寄木細工の形式でハイブ外部表を持っている:

describe payments_user 
col_name,data_type,comment 
('amount_hold', 'int', '') 
('id', 'int', '') 
('transaction_id', 'string', '') 
('recipient_id', 'string', '') 
('year', 'string', '') 
('month', 'string', '') 
('day', 'string', '') 
('', None, None) 
('# Partition Information', None, None) 
('# col_name   ', 'data_type   ', 'comment    ') 
('', None, None) 
('year', 'string', '') 
('month', 'string', '') 
('day', 'string', '') 

私たちは、年、月、日ある動的パーティションに摂取日常的にデータを取得します。 ソース側のデータを変更して新しい列を追加し、バッチファイルを送信する場合は、データをどのように取り込みますか。私はavroがこの機能を持っていることを知っていますが、改造を減らすために、これはどうやって寄木張りの形式で達成できるのでしょうか?

場合は、手順は何ですか?

答えて

1

あなたが探しているのはスキーマの進化ですが、AVROと比較していくつかの制限があり、Hiveによってサポートされています。

Schema evolution in parquet format

関連する問題