执行spark sql 遇到的问题

本文介绍了在Spark Cluster和Yarn Cluster上运行Spark SQL操作Hive数据时的配置步骤及遇到的问题。在Spark Cluster上,将hive-site.xml放入${SPARK_HOME}/conf目录即可。但在Yarn上,需要通过--files参数将hive-site.xml添加到任务中。此外,Spark SQL不支持以";"结尾的Hive SQL语句,如"use database;"。
摘要由CSDN通过智能技术生成

运行环境:

用图形更直观点。

在 spark cluster 和 yarn cluster 两种方式运行spark sql, 操作hive中的数据,另外,hive 是独立的,可以直接运行hive处理数据。

spark sql的程序比较好写,直接看spark的example的例子HiveFromSpark ,很容易理解

首先,在spark cluster上运行:

将hive的   hive-site.xml  配置文件放到 ${SPARK_HOME}/conf 目录下

#!/bin/bash

cd $SPARK_HOME
./bin/spark-submit \
  --class com.datateam.spark.sql.HotelHive \
  --master spark://192.168.44.80:8070 \
  --executor-memory 2G \
  --total-executor-cores 10 \
  /home/q/spark/spark-1.1.1-SNAPSHOT-bin-2.2.0/jobs/spark-jobs-20141023.jar \

执行脚本,遇到下面的错误:

Exception in thread "main" org.apache.hadoop.hive.ql.metadata.HiveException: Unable to fetch table dw_hotel_price_log
        at org.apache.hadoop.hive.ql.metadata.Hive.getTable(Hive.java:958)
        at org.apache.hadoop.hive.ql.metadata.Hive.getTable(Hive.java:924)
……
Caused by: org.datanucleus.exceptions.NucleusException: Attempt to invoke the "BONECP" plugin to create a ConnectionPool gave an error : 
The specified datastore driver ("com.mysql.jdbc.Driver") was not found in the CLASSPATH. 
Please check your CLASSPATH specification, and the name of the driver.
        at org.datanucleus.store.rdbms.ConnectionFactoryImpl.generateDataSources(ConnectionFactoryImpl.java:237)
        at org.datanucleus.store.rdbms.ConnectionFactoryImpl.initialiseDataSources(ConnectionFactoryImpl.java:110)
        at org.datanucleus.store.rdbms.ConnectionFactoryImpl.<init&g
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值