【问题标题】:How I can specify the metastore of Hive in Apache Spark program using java?如何使用 java 在 Apache Spark 程序中指定 Hive 的元存储?
【发布时间】:2017-07-07 20:27:14
【问题描述】:

我编写了一个用于在 Hive 上运行 SparkSQL 的 Java 代码。我正在尝试将我的配置单元元存储的路径提供给程序,但它根本不起作用。
看节目:

String warehouseLocation = "file:${system:user.dir}/spark-warehouse";

SparkSession spark = SparkSession
            .builder()
            .appName("Java Spark Hive Example")
            .master("local[*]")
            .config("spark.sql.warehouse.dir", warehouseLocation)
            .enableHiveSupport()
            .getOrCreate();
try
{
      spark.sql("select count(*) from health1 ").show();
}
catch (Exception AnalysisException)
{
    System.out.print("\nTable is not found\n");
}

我的 metastore_db 位于:/home/aims/hadoop/hadoop/hive/var/lib/metastore_db 我希望我尝试使用 SparkSQL 执行的任何操作都应该反映在带有 HIVE 的 Hadoop 上。为此,我需要将 metastore_db 连接到我的 Maven 程序。
我怎么能这样做?有没有办法可以使用 config 在程序中提供我的hive-site.xml 路径?

【问题讨论】:

    标签: java eclipse maven apache-spark hive


    【解决方案1】:

    您可以像下面这样运行 Hive Metastore Server。

    hive --service metastore &
    

    现在您可以通过设置配置hive.metastore.uris 使用 Spark 连接到 Hive

    SparkSession spark = SparkSession
        .builder()
        .appName("Java Spark Hive Example")
        .master("local[*]")
        .config("hive.metastore.uris", "thrift://localhost:9083")
        .enableHiveSupport()
        .getOrCreate();
    
    spark.sql("select count(*) from health1").show();
    

    【讨论】:

    • 我可以知道你从哪里得出结论"thrift://localhost:9083"?我不明白。
    • 当您运行 Metastore 服务器时,您将在控制台中获得详细信息。类似“INFO metastore.HiveMetaStore: Started the new metaserver on port [9083]”
    • 谢谢你..你为我解决了很多大问题...... :)
    • 能否请您发布单独的问题并粘贴完整的日志消息。
    【解决方案2】:

    将 core-site.xml 和 hive-site.xml 放在资源文件夹中,Spark 将自动查找这些文件并为 Hive 初始化 Metastore。还将日志记录级别设置为 INFO 以查看有关 Hive 元存储的信息。

    【讨论】:

    • 我如何使用 Eclipse 来做到这一点?我实际上正在使用IDE。请让 n=我知道
    猜你喜欢
    • 2019-03-31
    • 1970-01-01
    • 1970-01-01
    • 2017-09-17
    • 1970-01-01
    • 1970-01-01
    • 2021-11-15
    • 2013-09-02
    • 1970-01-01
    相关资源
    最近更新 更多