問題タブ [hive-configuration]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - Hive - 他のスクリプトで再利用するために共通のオプションを抽出できますか?
次のような 2 つの Hive スクリプトがあります。
スクリプト A:
スクリプト B:
各スクリプトの最初に設定するオプションは同じです。スクリプトが次のようになるように、何らかの方法でそれらを共通の場所 (たとえば、commonoptions.sql) に抽出することは可能ですか?
スクリプト A:
スクリプト B:
理想的には、テーブル定義も抽出したいので、次のようにします。
スクリプト A:
スクリプト B:
そうすれば、TableXYZ の定義を 1 か所で管理できます。Hive CLI を使用していません。Hive ステップで Amazon EMR を使用しています。
hadoop - 同じハイブ テーブルでの複数の圧縮
年/月でパーティション化された Hive テーブルがあり、少なくとも 7 年間のデータが含まれています。私がやりたいことは、Snappyを介して最新のデータ(最大1年前など)を圧縮しますが、古いデータはgzipなどのより優れた圧縮技術を介して圧縮します.Hiveでこれを実行するにはどうすればよいですか?
hadoop - hive.optimize.sort.dynamic.partition オプションで単一ファイルを避ける
ハイブを使用しています。
INSERT クエリを使用して動的パーティションを作成し、hive.optimize.sort.dynamic.partition オプション ( ) をオンにするとSET hive.optimize.sort.dynamic.partition=true
、常に各パーティションに 1 つのファイルが存在します。
しかし、そのオプション( SET hive.optimize.sort.dynamic.partition=false
)をオフにすると、このようにメモリ不足の例外が発生しました。
レデューサーが同時に多くのパーティションに書き込むため、この例外が発生したと思います。しかし、私はそれを制御する方法を見つけることができません。そして、私はこの記事に従いましたが、役に立ちません。
私の環境はそれです:
- AWS EMR 5.12.1
- tez を実行エンジンとして使用する
- Hive のバージョンは 2.3.2、tez のバージョンは 0.8.2 です。
- HDFS ブロックサイズは 128MB
- INSERT クエリで書き込む動的パーティションは約 30 個あります
これが私のサンプルクエリです。
hadoop - Hadoop クラスターで毎日 /tmp のクリーニングを制限するのは正しいですか?
HDP クラスターのバージョンは 2.6.4 です。
Redhat マシンのバージョンにインストールされたクラスター – 7.2
JournalNodes マシン (マスター マシン) で次の問題が発生していることに気付きました。
3 台の JournalNodes マシンがあり、/tmp フォルダーの下に何千もの空のフォルダーがあります。
また、多くのフォルダ
次のような内容で
/tmp は、構成ファイルに従って 10 日ごとにパージする必要があります。
したがって、この問題を回避するために 、保持期間を10 日間ではなく1 日間に減らします。
実際、/tmp には 1 日のフォルダ コンテンツしかありません
しかし、私は次の質問をしたいです
Hadoop クラスタの /tmp についての保存期間を 1 日に設定してもよろしいですか?
(ほぼ大丈夫だと思いますが、もっと意見を聞きたいです)
2番
HIVE が何千もの空のフォルダーを XXXX_resources として生成する理由、
/tmpで保持を制限する代わりに、HIVEサービスから解決することは可能ですか