で複数のテーブルをドロップします。 "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. 私は以下のように表<code>T</code>を持つテーブル
- 2. 、私は以下のようなHTMLテーブルを持つテーブル行で<a>
- 3. は私が</p> <p>目標テーブル下のスキーマを持つテーブル持っているテーブルとサブテーブル
- 4. Northwindデータベースは、私が<strong>Northwindデータベース</strong>の3つのテーブルを持っている3つのテーブル(多くの多くの)
- 5. は、どのように私は</strong>テーブルのこの</p> <p><strong>カスタマーのようなもので二つのテーブル</p> <ul> <li>顧客の両方のテーブルの</li> <li>CUSTOMERUPDATE</li> </ul> <p>構造を持っているトリガー
- 6. MySQLは私は2つのテーブル</p> <p>TABLE1を持っている他のテーブル
- 7. ハイブ:私は3つのパートパーティション私は別の新しいテーブルを作成したい <strong>(DT、SERVICE_TYPE、PV)</strong></p> <p>を持つハイブのテーブルを持っている
- 8. ERDダイアグラム - 団体の多くは一つのテーブルにい<strong>データベース設計</strong>または<strong>ERD図</strong>モデリングは<em>ユーザー</em>テーブルに存在し、<em>注文</em>、のような他のテーブルの多くが存在するユーザーmanagamentシステムに仕組み
- 9. 私はこの</p> <p>先のようなテーブル持ってここに別の列
- 10. Postgresはによってタプルを見つけて、私は2つのテーブル</p> <p><strong>テーブル</strong><br> ID <br> タイトル<br> 年</p> <hr> <p><strong>表B</strong><br> ID <br> を持っている他のテーブル
- 11. 私はタグ</li> </ul> <p>一つのトラックが、私はそのトラックのリストを持っているしたい多くのタグ</p> <p>を持つ2つのテーブル</p> <ul> <li>トラック</li> <li>を持ってitmes
- 12. でのカウントは、私はポスト</strong>テーブル<strong>を持っており、これはテーブル<strong>スター</strong>と<strong>あり、多くの</strong>関連性を持っている
- 13. どのように私はこの1つのよう<code>Float</code>を持っているフロート
- 14. 私は<code>presentation</code>テーブルを持っている
- 15. は、どのように私は、私は、MySQLデータベース<code>MIITEM</code>、<code>DEMAND</code>、私はテーブルとしてこれら三つのテーブル表示からフィールドを選択します<code>MIILOC</code>表に3台を持っている3つのテーブルを結合し、Selectステートメント
- 16. 私は<strong>3テーブル</strong>(多対多)を持っている
- 17. SQLクエリ:私は、ホテル名とフリーの部屋でテーブルを取得しようとしている</p> <p>ホテルとhotel_rooms</p> <p>:私は2つのテーブルを持って一つのテーブルからエントリを選択し、別の
- 18. MySQLの複数のは、私が参加しevents_formatsが参加events_stylesを持つイベントをフィルタリングしようとしています<strong>イベント</strong>、<strong>events_styles</strong>、<strong>events_formats</strong>テーブル(イベントは、多くのスタイルと多くのフォーマットを持つことができます) を持って
- 19. 次のように私はテーブルを持っているハイブ
- 20. 選択されたテーブルの行は、私はこのような<code>ng-class</code>ディレクティブを持つテーブルを持っている
- 21. 私は、</p> <p>アクションはBSE-類似し、BSE-アクション..... NSE-似たようなデータを持っている「アクション」そのうちの1つは、いくつかのフィールドを持っているデータベース内のテーブルを持って同様にデータ
- 22. スーパーは、私は(1:1の関係)のデータベース上の2つのテーブル<strong>S</strong>と<strong>私は</strong>を持って
- 23. ファイルリダイレクトVS.</p> <pre><code>while(<>){ print; } </code></pre> <p>と私はこのようにリダイレクトしてファイルに渡す必要があります考えています:<code>./sort.pl < wordlist</code>を、それが持っている私はそうのようないくつかのファイルからSTDINにかかる<code>sort.pl</code>という名前のperlスクリプトを持って
- 24. SQLビュー私は、単一のDB2テーブルに次の行を持つ<strong>FACT_VEHICLE</strong>があると同じテーブル内のデータが異なる行
- 25. 繰り返しエントリは、私は3つのテーブル<strong>ポスト</strong>、<strong>コメント</strong>、および<strong>ユーザー</strong>を持って
- 26. は私のデータベース(MySQLは)2つのテーブル</p> <p>表1を持っている、選択
- 27. 1私は、次の列に</p> <p>項目表を持つテーブルを持っている
- 28. どのように私は私がこのシンボルのエクスポートがこの</p> <p>のようなエラーに</p> <p>私がしようとしている何かを与えていると私のテーブルをエクスポートできるように、それを削除したいこの₹シンボルを持つテーブル
- 29. は、どのように私は私は2つのセグメントを持っている場合</p> <p>が</p> <p>例であるURI
- 30. は、私は以下のようにサービスクラスを持っているアクション<T>
ハイブ-e「ショーテーブル「temp_ *」| xargs -I '{}' hive -e 'drop table {}'は私のために働いていません – MysticForce
答えは完璧ですが、実際に私のために必要な小さな変更があります。私は二重引用符を追加することで@Louxouのコードを少し変更しています。ここに更新されたコードがあります。 'hive -e"はテーブル 'temp_ *' "を表示します。 xargs -I '{}' hive -e 'drop table {}' ' –