問題タブ [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.
hadoop - hive : 分散キャッシュからアイテムを削除します
経由で分散キャッシュに物を追加できます
そして、大量の HQL を実行します。
次のような一連のコマンドがある場合
この場合largelookuptable1
、2 番目のクエリで不必要に使用できます。2番目のクエリが実行される前にそれを取り除く方法はありますか?
hadoop - ハイブでビッグデータを効率的に並べ替える(並べ替える)方法は?
大きなデータセットを効率的に並べ替えたいのですが(つまり、ここで説明するように、カスタムパーティショナーを使用して:MapReduceの並べ替えアルゴリズムはどのように機能しますか?)、ハイブを使用して並べ替えます。
ただし、Hiveのマニュアルには、「orderby」は単一のレデューサーによって実行されると記載されています。pigは記事に似たものを実装しているので、これは私を驚かせます-pig impl
私は何かが足りないのですか、それともハイブがこの仕事に適したハンマーではないのですか?
hive - Web サービスとしての Apache HIVE ジョブ
PHP プログラムが Web サービスを呼び出して UI に出力を表示できるように、HIVE を Web サービスとして公開したいと考えています。HIVEでこれを行う方法がわかりません。
nosql - 数百万のレコードをリアルタイムでクエリ/集計-Hadoop?hbase?カサンドラ?
並列化できるソリューションはありますが、hadoop / nosqlの経験が(まだ)なく、ニーズに最適なソリューションがわかりません。理論的には、CPUが無制限の場合、結果はすぐに返されるはずです。だから、どんな助けもいただければ幸いです。ありがとう!
これが私が持っているものです:
- 数千のデータセット
- データセットキー:
- すべてのデータセットは同じキーを持っています
- 100万キー(これは後で1000万または2000万になる可能性があります)
- データセット列:
- 各データセットには同じ列があります
- 10〜20列
- ほとんどの列は、集計する必要のある数値です(avg、stddev、およびRを使用して統計を計算します)
- 特定のクエリでは特定のtype_idのみを含めたい場合があるため、いくつかの列は「type_id」列です。
- ウェブアプリケーション
- ユーザーは、関心のあるデータセットを選択できます(15から1000までのどこでも)
- アプリケーションは次のものを提示する必要があります:各列のキーと集計結果(avg、stddev)
- データの更新:
- データセット全体を追加、削除、または置換/更新できます
- 列を追加できると便利です。ただし、必要に応じて、データセット全体を置き換えることができます。
- データセットに行/キーを追加しないでください-したがって、高速書き込みが多いシステムは必要ありません
- インフラストラクチャー:
- 現在、それぞれ24コアの2台のマシン
- 最終的には、これをアマゾンでも実行できるようにしたい
集計値を事前に計算することはできませんが、各キーは独立しているため、これは簡単にスケーラブルにする必要があります。現在、このデータはpostgresデータベースにあり、各データセットは独自のパーティションにあります。
- パーティションを簡単に追加/削除/置換できるので、パーティションは素晴らしいです
- データベースはtype_idに基づくフィルタリングに適しています
- データベースは並列クエリを書くのは簡単ではありません
- データベースは構造化データに適していますが、私のデータは構造化されていません
概念実証として、Hadoopを試しました。
- 特定のtype_idのデータセットごとにタブ区切りファイルを作成しました
- hdfsにアップロード
- マップ:各キーの値/列を取得しました
- 削減:計算された平均と標準偏差
私の大まかな概念実証から、これはうまくスケーリングすることがわかりますが、hadoop / hdfsには遅延があることがわかります(結果を返すことは問題ありませんが、通常はリアルタイムクエリには使用されないことを読みました) 5秒でユーザーに戻ります)。
私がこれにどのように取り組むべきかについての提案はありますか?次にHBaseを試して、その感触をつかむことを考えていました。代わりにHiveを見る必要がありますか?カサンドラ?ヴォルデモート?
ありがとう!
hadoop - インストール時にハイブが機能しない
コマンドを実行すると、Hive で次のエラーが発生します。
これは hive.log にあります。
明らかにメタデータ ベースに問題がありますが、エラーは非常にわかりにくく、インストール ガイドにはメタデータ ベースの構成について何も記載されていません。
hive - ユーザー定義関数の jar のデプロイ
https://cwiki.apache.org/confluence/display/Hive/HivePlugins
Hive は、「add jar」コマンドを使用してユーザー定義関数を登録する方法を提供します。アプリケーションはこれらの jar をプログラムでどのように登録する必要がありますか?
ユーザー定義関数で特定のクラス定義が変更された場合、「jar を追加」する必要がありますか、またはこれを達成するための別のコマンドがあります。
cassandra - 活発なカサンドラ TimeUUIDType
サクサク使いました。cassandra 列ファミリーは、Hive テーブルに自動的にマップされます。
ただし、列ファミリーのデータ型が timeuuid の場合、Hive テーブルでは読み取ることができません。
たとえば、次のコマンドを使用してハイブに外部テーブルを作成し、列ファミリーをマップしました。
cassandra でカラム名が TimeUUIDType の場合、Hive テーブルで読み取り不能になります。
たとえば、cassandra 列ファミリーの行は次のようになります。
列名は TimeUUIDType です。
ハイブ テーブルでは、次の行のようになります。
そのため、Hive テーブルでは列名を読み取ることができません。
hadoop - Hive でのソート済みテーブルの使用
要約すると、私のシステムは事前にソートされたテーブルの概念を無視しているように感じます。- 事前に並べ替えられたデータを使用していたので、並べ替えステップの時間を節約できると思っていましたが、クエリ プランは中間の並べ替えステップを示しているようです。
厄介な詳細は次のとおりです。
セットアップ =======
次のフラグを設定しました:=============
ここでは、ディスク上のデータの一時コピーを保持するテーブルを作成します ========
ここでは、ディスク上のデータをテーブル BTW にコピーします。ここのデータは、シンボルごとにクラスター化され、時間ごとに並べ替えられています。Hiveにこの概念を使用させることができないようです...つまり、再度ソートを回避します
次の最終テーブルを使用して、バケット =========== を強制し、並べ替え順序を強制します ===========
データはハイブ テーブルからロードされます ==========
並べ替えられたシンボルを必要とする alltrades のクエリを確認するのは残念です。また、このプロセス全体を 2 ではなく 1 クエリ ステップで機能させる方法はありますか?
SORTING が機能しない理由 =======
テーブルが作成され、sort by 句が入力されていることに注意してください。これらを削除すると、将来のレデューサーがソートが不要であるかのように動作するようになるのではないかと心配しています。
これは、私の意見ではソートを含むべきではないが、実際にはソートを含むクエリの計画です。========
api - Hue api を使用してハイブ udf を登録する
HUE API を使用して UDF を登録する方法は? 以下のコードを使用していますが、登録できません。
このコードを実行すると、最後の行で INVALID FUNCTION calculate がスローされます。