spark-1.6.1安装编译&&sparksql操作hive

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spark-1.6.1安装编译&&sparksql操作hive相关的知识,希望对你有一定的参考价值。

maven:3.3.9 

jdk:java version "1.8.0_51"

spark:spark-1.6.1.tgz

scala:2.11.7

如果scala版本是2.11.x,执行如下脚本

./dev/change-scala-version.sh 2.11

spark默认情况下用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目录下,否则找不到表



运用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)
  }
}


提交任务:

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)



本文出自 “11660039” 博客,请务必保留此出处http://11670039.blog.51cto.com/11660039/1784692

以上是关于spark-1.6.1安装编译&&sparksql操作hive的主要内容,如果未能解决你的问题,请参考以下文章

Spark(1.6.1) Sql 编程指南+实战案例分析

Spark- Linux下安装Spark

Spark安装

CentOS7+hadoop2.6.4+spark-1.6.1

Spark介绍,安装

带变量的 SQL 编译语句的 SparkSQL 等效项