テーブルから列名を取得して、別のテーブルまたはハイブ内のテキスト ファイルにロードすることはできますか? これができるかどうか教えてください
質問する
24316 次
3 に答える
7
もう少し簡潔なバージョン
hive -S -e "SHOW COLUMNS IN database_name.table_name" > column_names.txt
于 2016-02-09T18:53:48.820 に答える
6
これを可能にする OOTB 機能はありません。しかし、それを達成するためにawkでDESCRIBEを使用することができます:
bin/hive -S -e "use default; describe demo;" | awk -F" " '{print $1}' > ~/filename.txt
defaultとdemoを、操作するデータベースとテーブルに置き換えます。
于 2013-09-26T21:07:45.183 に答える
5
別の解決策は、 hive.cli.print.headers=true を使用することです
これは、ヘッダーをカンマ区切りで取得するために使用しているものです。それに応じてデータベースとテーブルを置き換えます。
hive -S -e 'SET hive.cli.print.header=true; SELECT * FROM database.table LIMIT 0' | sed -e 's/\t/,/g' > headers.txt
于 2014-08-29T19:19:08.237 に答える