問題タブ [hive]
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.
mysql - 最長一致プレフィックス
MySQL で '12684041234' を最長のプレフィックスに一致させるには
テーブルには、プレフィックス値で名前がnums
付けられた列があります。num_prefix
どうすればハイブでそれを行うことができますか?
amazon-s3 - Hadoop ハイブで使用するために s3 でデータを分割するにはどうすればよいですか?
約 300 GB のログ ファイルを順不同で含む s3 バケットがあります。
特定の日に関連するログ行が同じ s3 'フォルダ' にまとめられるように、日時スタンプを使用して hadoop-hive で使用するためにこのデータを分割したいと考えています。たとえば、1 月 1 日のログ エントリは、次の名前に一致するファイルに含まれます。
等
データを変換するための最良の方法は何ですか? 一度に各ファイルを読み取り、適切な s3 の場所にデータを出力する単一のスクリプトを実行するのが最善でしょうか?
Hadoop を使用してこれを行う良い方法があると確信しています。誰か教えてもらえますか?
私が試したこと:
各日付のすべてのログエントリを収集し、それらを直接 S3 に書き込み、リデューサーには何も返さないマッパーを渡して、hadoop-streaming を使用しようとしましたが、重複が作成されたようです。(上記の例を使用すると、1 月 1 日のエントリ数は 140 万ではなく 250 万になりました)
これにどのようにアプローチするのが最善か、誰にもアイデアがありますか?
java - Hbase と Hive を統合する利点は何ですか
最近、著者が Hbase と Hive の統合について言及しているブログを見つけました。これは可能でしょうか。可能であれば、両方を使用する利点は何ですか (パフォーマンスとスケーラビリティの観点から)。私が間違っていた場合は、親切に修正してください。
mysql - mysqlテーブルをハイブに転送する方法は?
Hadoop/Hiveテーブルに転送したい大きなmysqlテーブルがあります。単純な(しかし大きな)テーブルをMysqlからHiveに転送するための標準的なコマンドまたはテクニックはありますか?このテーブルには、主に分析データが格納されています。
mapreduce - Hive QLには、Hadoopで直接独自のMapReduceジョブを作成するのと同じ表現力がありますか?
言い換えれば、
マップリデュースジョブを直接定義することで解決できるが、Hive QLクエリを形成できない問題はありますか?
はいの場合、Hive QLはその表現力に制限があり、可能なすべてのマップリデュースジョブを表現できないことを意味します。
実際には、これは、HiveQLが独自のMapReduceジョブを定義するための完全な代替ではないことを意味します。
configuration - Hive での INSERT OVERWRITE SELECT の圧縮コーデックの指定
次のようなハイブテーブルがあります
移入するために、私は次のようなことをしています:
これにより、個々の製品が deflate によって圧縮された新しいパーティションが作成されますが、ここでの理想は、代わりに LZO 圧縮コーデックを使用することです。
残念ながら、それを実現する方法は正確にはわかりませんが、多くの実行時設定の 1 つか、または CREATE TABLE DDL の単なる追加行であると思います。
lucene - ハイブとルセン
Hadoop に分散された Lucene インデックスのクエリに Hive を使用することは可能ですか?
configuration - Hadoop ハイブ mapred ジョブの最大レデューサーを制限する機能は?
クエリの先頭に次を追加してみました:
と
最後の 1 つは、530 のレデューサーを 35 に減らしたジョブを投獄しました...これは、530 のレデューサーに相当する作業を 35 にしようとしていたと思います。
今与えている
その数がノードあたりの最大値であるかどうかを確認してください (以前は、70 の潜在的なリデューサーを持つクラスターでは 7 でした)。
アップデート:
効果はありませんでしたが、試してみる価値はありました。
hadoop - PIG と HIVE を別々のプログラミング モデルと呼ぶことはできますか?
この質問はイライラするように聞こえるかもしれませんが、実際のプログラミングとは何の関係もないかもしれません。これは、私が同僚と行った小さな議論のスピンオフです。彼は、HIVE と PIG を別々の「プログラミング モデル」として呼び出すことができると主張し続けました。これは、これらで MapReduce ジョブを記述する場合、特に HIVE でプログラミングしている場合は、MapReduce について考える必要がないからです。プログラマーの観点からは、MapReduce 部分は完全に抽象化されています。これは完全に SQL に似ています。
しかし、これらの言語で書かれたスクリプトは最終的に複数の mapreduce ジョブに変換されるため、私はちょっと同意しませんでした。したがって、これらは同じモデル用にプログラムするための高水準のプログラミング言語と呼ぶことができます。そして、ワードプログラミングモデルは、プログラマーではなく、クランチされるのを待っている基礎となるデータの観点から見る必要があります。
あなたの意見は何ですか?
performance - Hive、hadoop、および hive.exec.reducers.max の背後にあるメカニズム
この他の質問のコンテキストでhere
hive.exec.reducers.max ディレクティブを使用すると、本当に困惑しました。
私の観点からは、ハイブはある種のロジックで機能すると思いました。たとえば、目的のクエリに N # 個のブロックがあるため、N 個のマップが必要です。NI からは、R = N / 2 から R = 1 までの範囲のリデューサー R の適切な範囲が必要になります。合計で 70 個のリデューサーしかないクラスターで作業していたことを除いて、これは問題ありませんでした。公平なジョブスケジューラを使用しても、これによりバックログが発生し、他のジョブがハングアップしました。そのため、hive.exec.reducers.max を見つけて 60 などに設定するまで、さまざまな実験を試みました。
その結果、248 分かかったハイブ ジョブが 155 分で終了し、結果に変化はありませんでした。私が気になっているのは、ハイブのデフォルトを N にして、クラスターのリデューサー容量よりも大きくならないようにして、リデューサーのセットを減らして数テラバイトのデータをロールオーバーできることを確認してから、ハイブが正しいと思うことです。常に試したほうがよいですかこのカウントを微調整しますか?