問題タブ [metastore]
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 テーブルの作成と削除を繰り返すことによる影響
約 200 個のハイブ パーケット テーブルを必要とするユース ケースがあります。これらの寄木細工のテーブルをフラット テキスト ファイルから読み込む必要があります。ただし、フラット テキスト ファイルから直接 parquet テーブルを読み込むことはできません。だから私は次のアプローチを使用しています
- 一時的なマネージド テキスト テーブルを作成しました。
- テキストデータを含む一時テーブルをロードしました。
- 外部寄木細工のテーブルを作成しました。
- 選択クエリを使用して、寄木細工のテーブルとテキスト テーブルを読み込みました。
- 一時テキスト テーブルのテキスト ファイルを削除しました (ただし、テーブルはメタストアに保持します)。
このアプローチは、一時的なメタデータ (200 テーブル分) をメタストアに保持しているためです。したがって、2番目のアプローチは、hdfsからのテキストファイルとともに一時テキストテーブルもドロップすることです。次回は一時テーブルを再作成し、寄木細工が作成されたら削除します。
ここで、2 時間ごとに 200 個のテーブルすべてに対して上記の手順に従う必要があるため、メタストアからテーブルを作成および削除すると、運用中にクラスター内の何かに影響しますか?
一時的なメタデータをメタストアに保持し、Hive メタストアからテーブル (メタデータ) を作成および削除することで、本番環境に影響を与える可能性のあるアプローチはどれですか?
hive - Hive リモート メタストアの構成
『Hadoop: The Definitive Guide』という本には、Hive リモート メタストアに関する内容が次のように記載されています。
「さらに一歩進んで、リモート メタストアと呼ばれる別のメタストア構成があります。この構成では、1 つ以上のメタストア サーバーが Hive サービスに対して個別のプロセスで実行されます。これにより、データベース層を完全にファイアウォールで保護することができ、クライアントがデータベース資格情報はもう必要ありません。」
上記の段落の意味を知っている人はいますか?「データベース層を完全にファイアウォールで保護でき、クライアントがデータベース資格情報を必要としなくなる」のはなぜですか?
hadoop - ハイブをメタストアとして使用するとデータベースが表示されない
Apache Drill を介してハイブにアクセスするために、メタストアをサービスとして開始しました。
これを hive-site.xml のメタストアとして使用するために、hive.metastore.uris パラメーターを thrift://localhost:9083 に設定しました。
メタストア サービスが作成された後、データベースを表示しようとしています。Hive をサービスとして開始する前に作成された 4 つではなく、2 つのデータベースしか表示されません。
また、以前に作成されたいくつかのテーブルは表示されていません。
/hive/user/warehouse/ フォルダーを参照すると、すべてのテーブルとすべてのデータベースが表示されました。
メタストアをサービスとして停止し、4 つのデータベースすべてが表示されていることを確認すると、何が起こっているのかわかりません。
あなたが同じことに直面し、何をする必要があるかを教えてください。
バックエンド データベースとして Apache Derby を使用しています。
hive - Google Cloud Dataproc が初期化スクリプトを使用して新しいクラスタを作成できない
以下のコマンドを使用して、Data proc クラスタを作成しています。
gcloud dataproc clusters create informetis-dev --initialization-actions “gs://dataproc-initialization-actions/jupyter/jupyter.sh,gs://dataproc-initialization-actions/cloud-sql-proxy/cloud-sql-proxy .sh,gs://dataproc-initialization-actions/hue/hue.sh,gs://dataproc-initialization-actions/ipython-notebook/ipython.sh,gs://dataproc-initialization-actions/tez/tez .sh,gs://dataproc-initialization-actions/oozie/oozie.sh,gs://dataproc-initialization-actions/zeppelin/zeppelin.sh,gs://dataproc-initialization-actions/user-environment/user -environment.sh,gs://dataproc-initialization-actions/list-consistency-cache/shared-list-consistency-cache.sh,gs://dataproc-initialization-actions/kafka/kafka.sh,gs:/ /dataproc-initialization-actions/ganglia/ganglia.sh,gs://dataproc-initialization-actions/flink/flink.sh」 --image-version 1.1 --master-boot-disk-size 100GB --master-machine-type n1-standard-1 --metadata "hive-metastore-instance=g-test-1022:asia-east1:db_instance" --num-preemptible -workers 2 --num-workers 2 --preemptible-worker-boot-disk-size 1TB --properties hive:hive.metastore.warehouse.dir=gs://informetis-dev/hive-warehouse --worker-machine -type n1-standard-2 --zone asia-east1-b --bucket info-dev
しかし、Dataproc は失敗ファイルに次のエラーがあり、クラスタを作成できませんでした:
cat + mysql -u hive -phive-password -e '' エラー 2003 (HY000): 'localhost' (111) で MySQL サーバーに接続できません + mysql -e 'CREATE USER '\''hive'\'' '\''hive-password'\'';' によって識別されます。エラー 2003 (HY000): 'localhost' 上の MySQL サーバーに接続できません (111)
誰かがこの失敗の背後にある考えを持っていますか?
apache-spark - 単体テストのためにローカル モードで HiveContext を使用して Apache Spark の Hive メタストア DB を変更する方法を教えてください。
Apache Spark をローカル モードで実行するローカル ユニット テスト用の Hive メタストア DB として、 Derbyの代わりにh2を使用したいと考えています。設定が機能しない原因は、ハイブ コンテキストが初期化される (およびメタストア データベースも) 早くなります。SparkConf の設定も機能しません。私たちを手伝ってくれますか?
hiveContext.set("javax.jdo.option.ConnectionURL", connectionUrl)
hive - Hadoop/HDFS なしで Hive メタストア サービスを使用する
質問が少し奇妙であることは知っています。Hadoop と HDFS が大好きですが、最近は Hive Metastore を使用して SparkSQL に取り組んでいます。
SparkSQL を垂直 SQL エンジンとして使用して、ETL プロセスなしで RDB、Mongo、Elastic などのさまざまなデータソースで OLAP クエリを実行したいと考えています。次に、対応する Hive ストレージ Handler を使用して、別のスキーマを Metastore の外部テーブルとして登録します。
さらに、私の仕事では HDFS をデータソースとして使用していません。次に、指定された Map/R は既に Spark エンジンに置き換えられています。Hadoop/HDFS は役に立たないが、Hive のインストールのベースになるように思えます。全部買いたくない。
SparkSQL をサポートするために、Hadoop/HDFS なしで Hive メタストア サービスのみを開始すると、どのような問題が発生するのでしょうか。私はジャングルに身を置きますか?
mysql - spark thriftserver を起動できません (spark の hive-site.xml はデフォルト値を上書きしませんでした)
背景:
- CentOS7
- hadoop-2.7.3
- スパーク-2.0.1-ビン-hadoop2.7
- apache-hive-2.1.0-bin (hive --service metastore によるメタストア サービスの開始にのみ使用)
- HADOOP_HOME、SPARK_HOME、HIVE_HOME などを構成する
- mysql 5.7.16
- mysql-connector-java-5.1.40-bin.jar を hive/lib/ と spark/jars/ の両方に入れました
hive-site.xml:
hive-site.xml を hive/conf/ と spark/conf/ の両方に入れました
しかし、start-thriftserver.sh を実行すると、エラー ログが得られました (spark_home/logs/ spark- -HiveThriftServer2 .out 内):
ログで、プロパティ「hive.metastore.uris」が機能したことがわかります。
しかし、他の mysql 相対プロパティは機能しなかったようです。メタストアはまだデフォルトのデータベース derby を使用しています。
どんな助けでも大歓迎です!ありがとう。
解決済み:
ハイブをローカルで使用したため、hive.metastore.uris を削除しました。
hive.metasotre.schema.verification を false に設定します。ニルマルの助けに感謝します。