maven:3.3.9
成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供化隆網(wǎng)站建設(shè)、化隆做網(wǎng)站、化隆網(wǎng)站設(shè)計(jì)、化隆網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、化隆企業(yè)網(wǎng)站模板建站服務(wù),十余年化隆做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
jdk:java version "1.8.0_51"
spark:spark-1.6.1.tgz
scala:2.11.7
如果scala版本是2.11.x,執(zhí)行如下腳本
./dev/change-scala-version.sh 2.11
spark默認(rèn)情況下用scala的2.10.5編譯
編譯命令如下:
mvn -Pyarn -Phadoop-2.6 -Dhadoop.version=2.6.0 -Phive -Phive-thriftserver -Dscala-2.11 -DskipTests clean package
紅色部分為spark-sql鏈接hive的所需要的依賴,以及指定的scala的版本
注意:hive-site.xml文件需要放到$SPARK_HOME/conf目錄下,否則找不到表
運(yùn)用spark-sql訪問hive
package com.infra.codelab.spark.hive import org.apache.spark.SparkConf import org.apache.spark.SparkContext object HiveTest { val conf = new SparkConf() val sc = new SparkContext(conf) def main(args: Array[String]): Unit = { val sqlContext = new org.apache.spark.sql.hive.HiveContext(sc) sqlContext.sql("SELECT line FROM filecontent ").collect().foreach(println) } }
提交任務(wù):
spark-submit --class com.infra.codelab.spark.hive.HiveTest --master spark://localhost:7077 /home/xiaobin/test/spark/wordcount-0.0.1-SNAPSHOT.jar
spark-sql:
export SPARK_CLASSPATH=$SPARK_CLASSPATH:/home/xiaobin/soft/apache-hive-0.14.0-bin/lib/MySQL-connector-java-5.1.35.jar
spark-sql --master spark://xiaobin:7077
spark-sql> select count(*) from filecontent; 483 Time taken: 3.628 seconds, Fetched 1 row(s)