簡體   English   中英

Spark作業在Hive數據庫中找不到表

[英]Spark job did not find table in Hive database

我在Hive的默認數據庫中有一個表,並且可以在命令行中成功地從該表中獲取記錄:

>hive: select * from my_table;

但是當我在Spark中創建一個作業來運行時,它只是像我這樣拋出異常:

INFO metastore.HiveMetaStore: 0: get_table : db=default tbl=my_table
16/01/04 03:41:42 INFO HiveMetaStore.audit: ugi=etl     ip=unknown-ip-addr      cmd=get_table : db=default tbl=my_table
Exception in thread "main" org.apache.spark.sql.AnalysisException: no such table my_table;

這是該工作的代碼:

SparkConf conf = new SparkConf().setMaster("local").setAppName("PhucdullApp");
        JavaSparkContext sc = new JavaSparkContext(conf);
        HiveContext sqlContext = new org.apache.spark.sql.hive.HiveContext(sc.sc());
        DataFrame df = sqlContext.sql("select * from my_table");
        df.show();
        sc.close();

(假設您使用的是在hive-default.xml文件中配置的默認Derby數據庫) 確保您已按照以下步驟操作: -

  1. 將hive-default.xml從$ HIVE_HOME / conf /復制到$ SPARK_HOME / conf /目錄。
  2. 找到您的“metastore_db”目錄,並使用spark-submit命令從同一目錄提交您的Spark作業。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM