SparkSql se conecta ao hive, mas o banco de dados Hive ou a tabela Hive não podem ser encontrados

20/09/27 18:32:57 WARN ObjectStore: Falha ao obter faísca do banco de dados, retornando
Exceção NoSuchObjectException no encadeamento “main” org.apache.spark.sql.catalyst.analysis.NoSuchDatabaseException: Banco de dados 'faísca' não encontrado;

Cena do projeto:

O Spark integra o Hive, a ideia usa o Spark localmente para ler dados no Hive

Descrição do Problema:

Verifique se o Spark do banco de dados existe no cliente Hive, mas se conectar ao Hive usando o Spark não consegue encontrar a
exceção do
Spark do banco de dados é o seguinte 20/09/27 18:32:57 WARN ObjectStore: Falha ao obter o spark do banco de dados, retornando
Exceção NoSuchObjectException no encadeamento “Main” org .apache.spark.sql.catalyst.analysis.NoSuchDatabaseException: Database'spark 'não encontrado;

banco de dados de visão do cliente hive

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

Análise de causa:

O Spark não encontrou metadados do Hive


solução:

Além da configuração de metadados, hive.metastore.uris

Integre Hive
hdfs-site.xml no scala e adicione configuração

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


Spark integra Hive spark em java para adicionar configuração de propriedade de configuração ("hive.metastore.uris", "thrift: // node003: 9083")

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

Acho que você gosta

Origin blog.csdn.net/weixin_43614067/article/details/108833075
Recomendado
Clasificación