問題タブ [hive-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.

0 投票する
2 に答える
1102 参照

hive - 存在しないパーティションを示すハイブ

ハイブに、DDL が以下のようなテーブルがあります。

データを data_updated=NO から data_updated=YES に移動したいと考えています。そして、HDFS コマンドを介してそれを行います。

1 つのオプションは、複数の名前変更パーティション DDL を作成することです。ただし、alter partition DDL では、すべてのパーティションを N 番目のレベルまで指定する必要があります。N レベルは動的であり、静的に決定することはできません。

unix スクリプトを使用して batch_ids を取得し、HDFS で move コマンドを使用してディレクトリを手動で移動しています。

HDFS コマンドで移動する際の問題は、ハイブでテーブルを修復した後、存在しないパーティションがまだハイブ メタデータに存在することです。ハイブ メタデータから存在しないパーティションを削除する方法。助言がありますか?

ハイブでの show partition の出力。

0 投票する
1 に答える
1150 参照

apache-spark - Spark/Hive にカスタム権限で task_* ディレクトリを強制的に作成させる方法

次の問題があります。できる限り詳細をお伝えするように努めますが、これを機能させるのに役立つと思われる何かが不足している場合は、遠慮なくお問い合わせください。

上記の hive-site 設定を、これら 2 つのさまざまな組み合わせで試してみましたが、問題は解決しません。

Spark クラスター (スタンドアロン、master/workers/shuffle/thrift/history) はユーザーspark (サービス アカウント) として実行されており、spark ユーザーグループの一部です。HDFS はありませんが、ファイルシステムは分散型で posix に準拠しており (商用 HDFS と考えてください)、NFS v3 がマウントされています。Hive メタストアは PostgreSQL 10 にあります。

スパーク ウェアハウスはこちら:

Sparkユーザーグループの一部であるuser_1として PySpark プロセスを実行します。このプロセスでは、データベースを作成し、テーブルを作成して、テーブルにデータを書き込みます。

プロセスは次の例外で失敗します。

ファイル/ディレクトリの名前変更と削除に失敗した場合。

ディレクトリ構造:

ご覧のとおり、temporary/0 (包括的)までのディレクトリはuser_1が所有していますが、temporary/0内のtask_ディレクトリはsparkユーザーが所有しています。さらに、これらのtask_ディレクトリの作成に使用された umask は 022 であり、目的の 007 ではありませんでした。

これらのtask_ディレクトリを作成するsparkユーザーに実際に正しい umask を使用させることができれば、問題は解決されます。

感謝し、指摘し、アドバイスします。

0 投票する
0 に答える
139 参照

hive - NotificationListener を使用して Hive で CREATE/DROP/ALTER テーブル イベントの通知を取得する方法

私はハイブを使用して初めてです。DbNotificationListenerCREATE/DROP/ALTER に関連するデータベース イベントが発生するたびに、Hive で通知を受け取る方法を教えてください。

手順に関連する以下の質問があります。

  1. NotificationListenerクラスに使用する必要がある JAR ファイルはどれですか? Hive メタストアの Hcatalog JAR にできますか?
  2. この JAR ファイルを追加する必要があるクラス パスは何ですか?
  3. でどのエントリを作成する必要がありhive-Site.xmlますか?
  4. メタ ストア ログにイベントを書き込みますか?

前もって感謝します。

0 投票する
2 に答える
5467 参照

apache-spark - Hive メタストア 3.1.0 を使用する Apache Spark 2.3.1

HDP クラスターを 3.1.1.3.0.1.0-187 にアップグレードしたところ、次のことがわかりました。

  1. Hive に新しいメタストアの場所がある
  2. Spark が Hive データベースを認識できない

実際、次のことがわかります。

何が起こったのか、これを解決する方法を理解するのを手伝ってもらえますか?

アップデート:

構成:

(spark.sql.warehouse.dir,/warehouse/tablespace/external/hive/) (spark.admin.acls,) (spark.yarn.dist.files,file:///opt/folder/config.yml,file :///opt/jdk1.8.0_172/jre/lib/security/cacerts) (spark.history.kerberos.keytab、/etc/security/keytabs/spark.service.keytab) (spark.io.compression.lz4. blockSize,128kb) (spark.executor.extraJavaOptions,-Djavax.net.ssl.trustStore=cacerts) (spark.history.fs.logDirectory,hdfs:///spark2-history/) (spark.io.encryption.keygen.アルゴリズム,HmacSHA1) (spark.sql.autoBroadcastJoinThreshold,26214400) (spark.eventLog.enabled,true) (spark.shuffle.service.enabled,true) (spark.driver.extraLibraryPath,/usr/hdp/current/hadoop-client) /lib/native:/usr/hdp/current/hadoop-client/lib/native/Linux-amd64-64) (spark.ssl.keyStore,/etc/security/serverKeys/server-keystore.jks) (spark.yarn) .queue,default) (spark.jars,ファイル:/opt/folder/component-assembly-0.1.0-SNAPSHOT.jar) (spark.ssl.enabled,true) (spark.sql.orc.filterPushdown,true) (spark.shuffle.unsafe.file.output.buffer, 5m) (spark.yarn.historyServer.address,master2.env.project:18481) (spark.ssl.trustStore,/etc/security/clientKeys/all.jks) (spark.app.name,com.company.env. component.MyClass) (spark.sql.hive.metastore.jars,/usr/hdp/current/spark2-client/standalone-metastore/*) (spark.io.encryption.keySizeBits,128) (spark.driver.memory, 2g) (spark.executor.instances,10) (spark.history.kerberos.principal,spark/edge.env.project@ENV.PROJECT) (spark.unsafe.sorter.spill.reader.buffer.size,1m) ( spark.ssl.keyPassword,*********(編集済み)) (spark.ssl.keyStorePassword,*********(編集済み)) (spark.history.fs.cleaner.enabled, true) (spark.shuffle.io.serverThreads,128) (spark.sql.hive.convertMetastoreOrc,true) (spark.submit.deployMode,client) (spark.sql.orc.char.enabled,true) (spark.master,yarn) (spark.authenticate.enableSaslEncryption,true) (spark.history.fs.cleaner.interval) ,7d) (spark.authenticate,true) (spark.history.fs.cleaner.maxAge,90d) (spark.history.ui.acls.enable,true) (spark.acls.enable,true) (spark.history.プロバイダー、org.apache.spark.deploy.history.FsHistoryProvider) (spark.executor.extraLibraryPath、/usr/hdp/current/hadoop-client/lib/native:/usr/hdp/current/hadoop-client/lib/native /Linux-amd64-64) (spark.executor.memory,2g) (spark.io.encryption.enabled,true) (spark.shuffle.file.buffer,1m) (spark.eventLog.dir,hdfs:/// spark2-history/) (spark.ssl.protocol,TLS) (spark.dynamicAllocation.enabled,true) (spark.executor.cores,3) (spark.history.ui.port,18081) (spark.sql.statistics. fallBackToHdfs,true) (spark.repl.local.jars,file:///opt/folder/postgresql-42.2.2.jar,file:///opt/folder/ojdbc6.jar) (spark.ssl.trustStorePassword,************(編集済み) )) (spark.history.ui.admin.acls,) (spark.history.kerberos.enabled,true) (spark.shuffle.io.backLog,8192) (spark.sql.orc.impl,native) (spark. ssl.enabledAlgorithms、TLS_RSA_WITH_AES_128_CBC_SHA、TLS_RSA_WITH_AES_256_CBC_SHA) (spark.sql.orc.enabled、true) (spark.yarn.dist.jars、file:///opt/folder/postgresql-42.2.2.jar、file:/// opt/folder/ojdbc6.jar) (spark.sql.hive.metastore.version,3.0)TLS_RSA_WITH_AES_256_CBC_SHA) (spark.sql.orc.enabled,true) (spark.yarn.dist.jars,file:///opt/folder/postgresql-42.2.2.jar,file:///opt/folder/ojdbc6. jar) (spark.sql.hive.metastore.version,3.0)TLS_RSA_WITH_AES_256_CBC_SHA) (spark.sql.orc.enabled,true) (spark.yarn.dist.jars,file:///opt/folder/postgresql-42.2.2.jar,file:///opt/folder/ojdbc6. jar) (spark.sql.hive.metastore.version,3.0)

そして hive-site.xml から:

コードは次のようになります。

スパーク送信: