Vinitkumar
Vinitkumar

Reputation: 121

Hive table not accessible in spark2 sql in HDP

I am running following job in HDP.

export SPARK-MAJOR-VERSION=2 spark-submit --class com.spark.sparkexamples.Audit --master yarn --deploy-mode cluster \ --files /bigdata/datalake/app/config/metadata.csv BRNSAUDIT_v4.jar dl_raw.ACC /bigdatahdfs/landing/AUDIT/BW/2017/02/27/ACC_hash_total_and_count_20170227.dat TH 20170227

Its failing with error that:

Table or view not found: dl_raw.ACC; line 1 pos 94; 'Aggregate [count(1) AS rec_cnt#58L, 'count('BRCH_NUM) AS hashcount#59, 'sum('ACC_NUM) AS hashsum#60] +- 'Filter (('trim('country_code) = trim(TH)) && ('from_unixtime('unix_timestamp('substr('bus_date, 0, 11), MM/dd/yyyy), yyyyMMdd) = 20170227)) +- 'UnresolvedRelation dl_raw.`ACC'*

Whereas table is present in Hive and it is accessible from spark-shell.

This is code for spark session.

val sparkSession = SparkSession.builder .appName("spark session example") .enableHiveSupport() .getOrCreate() 
sparkSession.conf.set("spark.sql.crossJoin.enabled", "true") 
val df_table_stats = sparkSession.sql("""select count(*) as rec_cnt,count(distinct BRCH_NUM) as hashcount, sum(ACC_NUM) as hashsum 
                                         from dl_raw.ACC 
                                         where trim(country_code) = trim('BW') 
                                         and from_unixtime(unix_timestamp(substr(bus_date,0,11),'MM/dd/yy‌​yy'),'yyyyMMdd')='20‌​170227'
                                      """)

Upvotes: 0

Views: 381

Answers (2)

Shantanu Sharma
Shantanu Sharma

Reputation: 4089

You can also copy hive-site.xml configuration file from hive-conf dir to spark-conf dir. This should resolve your issue.

cp /etc/hive/conf/hive-site.xml /etc/spark2/conf

Upvotes: 0

Kiran Balakrishnan
Kiran Balakrishnan

Reputation: 257

include the hive-site.xml in the --files parameter when you submit the spark job.

Upvotes: 1

Related Questions