我正在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
它的失败与错误:
未找到表或视图:
dl_raw
。ACC
;第1行,位置94;'聚合[count(1)AS rec_cnt#58L,'count('BRCH_NUM)AS hashcount#59,'sum('ACC_NUM)AS hashsum#60]+-'筛选器(('trim('country_code)=trim(TH))&;('from_unixtime('unix_timestamp('substr('bus_date,0,11),MM/dd/yyyy),yyyyMMdd)=20170227)+-'未解决关系dl_raw
`ACC'*
尽管Hive中存在表,并且可以从spark shell访问该表。
这是火花会话的代码。
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/yyyy'),'yyyyMMdd')='20170227'
""")
您还可以将hive-site.xml配置文件从hive-conf-dir复制到spark-conf-dir。这应该可以解决您的问题。
cp /etc/hive/conf/hive-site.xml /etc/spark2/conf