で複数のテーブルをドロップします。 "temp_table"で始まるテーブルを削除したいとします。 Hiveでこの作業を行うことができるクエリを知っていますか?は、このようなテーブルの数百には多くの他のテーブルと一緒に私のデータベース内にあります</p> <pre><code>temp_table_name temp_table_add temp_table_area </code></pre> <p>..私は以下のように同じプレフィックスを持つハイブのいくつかのテーブルを持っているハイブ
答えて
ハイブのドロップクエリの正規表現などはありません(または見つからなかった)。シェルスクリプトで
:しかし、例えば、それを行うにはmultipeの方法があります
hive -e "show tables 'temp_*'" | xargs -I '{}' hive -e 'drop table {}'
または特定のデータベース内のテーブルを置いて、データベース全体をドロップすることによって
。Create table temp.table_name; Drop database temp cascade;
これを試してみてください:
ハイブ-e '使用sample_dbを、番組表を' | xargsの-I '{}' ハイブ-e '使用sample_db; {}テーブルをドロップ'
私のソリューションは、次のCMDでbashスクリプトを使用することであった:コマンド以下
hive -e "SHOW TABLES IN db LIKE 'schema*';" | grep "schema" | sed -e 's/^/hive -e \"DROP TABLE db\./1' | sed -e 's/$/\"/1' > script.sh
chmod +x script.sh
./script.sh
も動作します。 @HorusH答えソリューションの上
hive -e "show tables 'table_prefix*'" | sed -e 's/^/ \DROP TABLE db_name\./1' | sed -e 's/$/;/1' > script.sh
hive -f script.sh
私はテーブルの多くは、私は、次のコマンドを使用落とすんでしたように、良いです。しかし、削除するテーブルがさらにある場合は、 'hive -e drop table'を実行するのが遅くなります。だから私はこれを使った:
ハイブ-e 'use db; show tables' | grepのパターン> file.hql
使用のvimエディタはfile.hql開き、
は、このアプローチは、はるかに高速になりますコマンド以下を実行します!%sの^テーブル
ドロップ:!%sに$ !;
file.hql -f
ハイブを実行します。1つのシェルスクリプトを使用して
に触発
hive -e 'show tables' | grep table_prefix | while read line; do hive -e "drop table $line"; done
マッチテーブルのパターンはどこにありますか? –
@Alex Raj Kaliamoorthy - grep 'pattern' – Chandra
最速のソリューション:
drop_tables.sh pattern
シェルスクリプトの内容:
hive -e 'use db;show tables' | grep $1 | sed 's/^/drop table db./' | sed 's/$/;/' > temp.hql
hive -f temp.hql
rm temp.hql
- 1. Postgresはによってタプルを見つけて、私は2つのテーブル</p> <p><strong>テーブル</strong><br> ID <br> タイトル<br> 年</p> <hr> <p><strong>表B</strong><br> ID <br> を持っている他のテーブル
- 2. 次のように私はテーブルを持っているハイブ
- 3. でのカウントは、私はポスト</strong>テーブル<strong>を持っており、これはテーブル<strong>スター</strong>と<strong>あり、多くの</strong>関連性を持っている
- 4. 私は<strong>3テーブル</strong>(多対多)を持っている
- 5. SQLクエリ:私は、ホテル名とフリーの部屋でテーブルを取得しようとしている</p> <p>ホテルとhotel_rooms</p> <p>:私は2つのテーブルを持って一つのテーブルからエントリを選択し、別の
- 6. 選択されたテーブルの行は、私はこのような<code>ng-class</code>ディレクティブを持つテーブルを持っている
- 7. MySQLの複数のは、私が参加しevents_formatsが参加events_stylesを持つイベントをフィルタリングしようとしています<strong>イベント</strong>、<strong>events_styles</strong>、<strong>events_formats</strong>テーブル(イベントは、多くのスタイルと多くのフォーマットを持つことができます) を持って
- 8. 私は、</p> <p>アクションはBSE-類似し、BSE-アクション..... NSE-似たようなデータを持っている「アクション」そのうちの1つは、いくつかのフィールドを持っているデータベース内のテーブルを持って同様にデータ
- 9. 1私は、次の列に</p> <p>項目表を持つテーブルを持っている
- 10. は私のデータベース(MySQLは)2つのテーブル</p> <p>表1を持っている、選択
- 11. ファイルリダイレクトVS.</p> <pre><code>while(<>){ print; } </code></pre> <p>と私はこのようにリダイレクトしてファイルに渡す必要があります考えています:<code>./sort.pl < wordlist</code>を、それが持っている私はそうのようないくつかのファイルからSTDINにかかる<code>sort.pl</code>という名前のperlスクリプトを持って
- 12. SQLは、私が他の列の列</p> <pre><code>ID, SERVICE_TYPE ... </code></pre> <p>とたくさんの列<code>ID</code>と<code>SERVICE_TYPE_TEXT</code>、別のテーブルで一つのテーブルを持っている同じ名前の
- 13. DQL MySQLは私は1つが<code>Ratings</code>他<code>Users</code>と呼ばれる2つのテーブルを持っている
- 14. は、どのように私は私は2つのセグメントを持っている場合</p> <p>が</p> <p>例であるURI
- 15. Entity Frameworkは、私は3つのテーブルを持っている多くのマッピングテーブルに多くに</p> <p>1)お客様(ID、名前、BLAのBLA)</p> <p>2)CustomerGroups(グループID、GroupNameの)</p> <p>3を
- 16. 私はいくつかの値を持っているこの<code>linkedhashmap</code>に別のリスト
- 17. は私が<em>ポスト</em>モデルを持っているとの記事が一度に一つ以上のタグを(持つことができるように、私は<em>タグ</em>モデルを作成したいと思います
- 18. のMySQL:<code>database</code>に私は3つのテーブルを持っている
- 19. 私は以下の出力を得ることができますどのような方法があります。これは、ハイブ以下の表</p> <pre><code>CREATE EXTERNAL TABLE IF NOT EXISTS SampleTable ( USER_ID BIGINT, NEW_ITEM ARRAY<STRUCT<PRODUCT_ID: BIGINT,TIMESTAMPS:STRING>> ) </code></pre> <p>あるハイブ
- 20. 私はこのような<code>ViewModel</code>持って右にShowDialog
- 21. CoreDataを設定し、内部には私は2つのテーブル</p> <p>通常を持って
- 22. はアイデアがある</p> <p>など、私は(いくつかのサーバー上に分散)複数の同一のデータベースを持っている
- 23. のLINQのINステートメントは、私は2つのテーブル</p> <p><strong>契約</strong></p> <p>IDを持って
- 24. は、2つのデータベースが同じ番号が含まれてい</p> <p>データベースBにいくつかのテーブルのについてのいくつかの新しい列を除いて同じである、私は2つのデータベース、データベースAとデータベースBを持つ2つの類似したデータベースのテーブルの間
- 25. Mavenの - 私は私が持っているプロジェクトのそれぞれを構築するときにどのよう</li> <li>DataComponents</li> <li>ServiceComponents </ul> <p></li>を</p> <ul> <li>WebComponentsを私は3つのMavenを持って一つのプロジェクト
- 26. のhbm.xmlは、私は私のDBに3つのテーブルを持っている<表-フィルタ一致-name>は
- 27. は、どのように私は、変数</p> <pre><code>int x = 2; </code></pre> <p>とリストを持っている
- 28. は、どのように私は2つの問題</p> <p>1を持っている
- 29. いけない私は2つのテーブル</p> <p>の1- <strong>ユーザー</strong>(ニュースサイトでユーザー登録を)持っている/データベース内のテーブルは、私がシナリオ</p> <p>私はニュースのWebアプリケーション を持って、次のしている
- 30. は、私はコード以下のような<code>String</code>と<code>HashMap</code>持っているJavaの8ストリーム
ハイブ-e「ショーテーブル「temp_ *」| xargs -I '{}' hive -e 'drop table {}'は私のために働いていません – MysticForce
答えは完璧ですが、実際に私のために必要な小さな変更があります。私は二重引用符を追加することで@Louxouのコードを少し変更しています。ここに更新されたコードがあります。 'hive -e"はテーブル 'temp_ *' "を表示します。 xargs -I '{}' hive -e 'drop table {}' ' –