SparkSqlはハイブに接続しますが、ハイブデータベースまたはハイブテーブルが見つかりません

20/09/27 18:32:57警告ObjectStore:データベースsparkの取得に失敗し
、スレッド「main」でNoSuchObjectException例外が返されましたorg.apache.spark.sql.catalyst.analysis.NoSuchDatabaseException:データベース「spark」が見つかりません。

プロジェクトシーン:

SparkはHiveを統合し、アイデアはローカルでSparkを使用してHiveのデータを読み取ります

問題の説明:

データベースsparkがhiveクライアントに存在することを確認しますが、sparkを使用してHiveに接続すると、データベースspark
例外が見つかりません
。20/ 09/27 18:32:57警告ObjectStore:データベースsparkの取得に失敗し
、スレッドでNoSuchObjectException例外を返します。 「main」org.apache.spark.sql.catalyst.analysis.NoSuchDatabaseException:データベース「spark」が見つかりません。

ハイブクライアントビューデータベース

hive> show databases;
OK
default
spark
Time taken: 0.11 seconds, Fetched: 3 row(s)

原因分析:

SparkはHiveメタデータを見つけられませんでした


解決:

さらに、メタデータ構成、hive.metastore.uris

Hive
hdfs-site.xmlをscalaに統合し、構成を追加します

    <property>
        <name>hive.metastore.uris</name>
        <value>thrift://node003:9083</value>
    </property>


SparkはHivesparkをJavaに統合して、構成プロパティconfig( "hive.metastore.uris"、 "thrift:// node003:9083")追加します。

SparkSession  spark = SparkSession.builder().appName("随便写").config("hive.metastore.uris","thrift://node003:9083").enableHiveSupport().getOrCreate();

おすすめ

転載: blog.csdn.net/weixin_43614067/article/details/108833075