問題タブ [apache-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.
sql - HiveQL - 一定時間単位でのエントリ数のクエリ
次のようなテーブルがあります。
一定期間のログイン数の列を表示するクエリを取得する方法はありますか? このようなもの:
注: int タイムスタンプでしかできない場合は、問題ありません。私の元のテーブルはすべて文字列なので、ここでそれを表現すると思いました。括弧内のものは印刷する必要はありません
hive - 文字列からHiveのマップオブジェクトへ
私の入力は、A から Z までの任意の文字を含むことができる文字列です (重複がないため、最大 26 文字まで)。
例えば:-
文字列内の文字は任意の順序で表示できます。
これから、 AからZまでの固定キーを持つ map オブジェクトを作成したいと思います。対応する文字が入力文字列に含まれている場合、キーの値は 1 です。したがって、この例 (ATK) の場合、マップ オブジェクトは次のようになります。
では、これを行う最善の方法は何ですか?
したがって、コードは次のようになります。
Map<string,int>
26 個のキーと値のペアを含むマップ オブジェクト ( ) を返す必要があります。Hiveでユーザー定義関数を作成せずに、それを行う最良の方法は何ですか. 簡単に頭に浮かぶ関数str_to_mapがあることは知っていますが、キーと値のペアがソース文字列に存在する場合にのみ機能し、入力で指定されたキーと値のペアのみを考慮します。
hive - 文字列を受け取って Map を返す関数に必要な Hive GenericUDF Java コード テンプレート
Hive 用の GenericUDF を作成しようとしています。JAR を追加して、クラスを指す一時関数を作成しようとすると、エラーが発生するため、関数の作成が成功しません。String 型の引数を 1 つ受け取り、Map 型のオブジェクトを返す GenericUDF 関数の Java コード テンプレートを誰かが提供できますか。Object Inspector クラスに関しては非常に混乱しているため、誰かがこの関数の入力型と戻り値の型の非常に基本的なテンプレートを提供してくれると非常に役立ちます。
だから私のJavaコードはここにあります:-
JAR に対して Hive で関数を作成しようとすると、次のようになります。
hadoop - ファイルをハイブ パーティションに追加する
ハイブ 0.13 バージョンまでは、以下のコマンドを使用してハイブ テーブルの特定のパーティションにファイルを追加できました。
クラスターが更新され、ハイブがハイブ 1.2 バージョンになりました。以下のエラーが発生するため、上記のコマンドを実行できません。
Hive 1.2 バージョンから、ディレクトリをパーティションに追加することしかできないことを教えてください。
apache-spark - spark から hdfs にデータをテキスト ファイルとして保存する
次のクエリを使用してpySpark
データを処理しました。sqlContext
次の形式で格納されます。
しかし、データをHiveテーブルに保存したい
Hiveでテーブルを作成する方法は次のとおりです。
多くのオプションを試しましたが、成功しませんでした。これについて私を助けてください。
apache-spark - ORC ファイルの Spark SQL が正しいスキーマ (列名) を返さない
ORC ファイルを含むディレクトリがあります。以下のコードを使用して DataFrame を作成しています
このスキーマでデータフレームを返します
期待されるスキーマはどこにありますか
parquet 形式のファイルに対してクエリを実行すると、正しいスキーマが得られます。
構成が不足していますか?
詳細を追加する
これは、Hortonworks ディストリビューション HDP 2.4.2 (Spark 1.6.1、Hadoop 2.7.1、Hive 1.2.1) です。
HDP のデフォルト設定は変更していませんが、これは Hadoop のプレーン バニラ バージョンとまったく同じではありません。
データは、単純な CTAS である上流の Hive ジョブによって書き込まれます (CREATE TABLE サンプル STORED AS ORC as SELECT ...)。
最新の 2.0.0 ハイブを使用して CTAS によって生成されたファイルでこれをテストしました。orc ファイルの列名が保持されます。
hadoop - ハイブをメタストアとして使用するとデータベースが表示されない
Apache Drill を介してハイブにアクセスするために、メタストアをサービスとして開始しました。
これを hive-site.xml のメタストアとして使用するために、hive.metastore.uris パラメーターを thrift://localhost:9083 に設定しました。
メタストア サービスが作成された後、データベースを表示しようとしています。Hive をサービスとして開始する前に作成された 4 つではなく、2 つのデータベースしか表示されません。
また、以前に作成されたいくつかのテーブルは表示されていません。
/hive/user/warehouse/ フォルダーを参照すると、すべてのテーブルとすべてのデータベースが表示されました。
メタストアをサービスとして停止し、4 つのデータベースすべてが表示されていることを確認すると、何が起こっているのかわかりません。
あなたが同じことに直面し、何をする必要があるかを教えてください。
バックエンド データベースとして Apache Derby を使用しています。
hive - パーティションとバケット ORC テーブル
ORC テーブルを作成すると、劇的に速度が向上することを理解しています。しかし、ORC テーブルを分割してバケット化することで、さらに改善できるでしょうか? もしそうなら、既存のORCテーブルでパーティショニングとバケット化を行う方法は?
hadoop - ハイブにパーティションを作成できない
ハイブに既に存在するテーブルから新しいテーブルにパーティションを作成できません。
テーブルの作成後にハイブで実行しているクエリは
私が得ているエラーは
namenode を参照して見つけた後、datanode フォルダーを削除する必要があり、namenode をフォーマットする必要があります。その衛生タスクも実行しましたが、それでも同じエラーが発生します。
また、レプリケーション係数を 1 に設定したところ、すべての Hadoop プロセスが正常に実行されています。
この問題を回避する方法を教えてください。ご提案をお待ちしております。
apache-spark - カスタム ハイブ バインディングを使用したスパーク
1.2 の代わりに現在の (ハイブ 2.1) バインディングでスパークをビルドするにはどうすればよいですか? http://spark.apache.org/docs/latest/building-spark.html#building-with-hive-and-jdbc-support これがどのように機能するかについては言及していません。Spark は Hive 2.x でうまく動作しますか?