2017-05-12 13 views
0

DatabasesHiveにあります。 A, B, Cすべてのテーブルを1つにダンプするためのハイブクエリ

データベースAにはハイブテーブルがありますOne, Two, Three. 3つのテーブルにはいずれもdifferent schemasがあります。

どのように私はsingle csv file.

+1

1回のテーブルをCSVにエクスポートするのは、3回行う以外は同じです。しかし、なぜ単一のCSVに異なるスキーマを持つテーブルが必要なのでしょうか? – Andrew

+0

@Andrew But各テーブルを明示的に記述することなく、一度にすべてのテーブルをどのようにループするのですか? –

+0

シェルスクリプトを使用して実行できます。 –

答えて

1

にすべての3つの表のデータをダンプするハイブスクリプトを書くことができますが、これを試してみてください。

#!/bin/bash 
for db in A B C#List of databases 
do 
    tbs=$(hive -S -e "use $db; show tables") 
    for tb in $tbs 
    do 
    hive -e "set hive.cli.print.header=true; use $db; SELECT * FROM $tb;" | sed 's/[\t]/,/g' >> sampleData.csv 
    done 
done 
+0

すべてのデータベースのデータを単一のcsvにダンプしますか? –

+0

前のコメントと同じコメント - ハイブのCLIの制御されない出力をカウントする代わりに、明示的に出力形式を選択できるBeelineを使用してみませんか? –

関連する問題