你的位置:首页 > 数据库

[数据库]Spark SQL


 

使用Saprk SQL 操作Hive的数据

前提准备:

1、启动Hdfs,hive的数据存储在hdfs中;

2、启动hive -service metastore,元数据存储在远端,可以远程访问;

3、在spark的conf目录下增加hive-site.

<configuration><property> <name>hive.metastore.uris</name> <value>thrift://node1:9083</value></property></configuration>

 

 

编写Scala测试程序:

object Hive { def main(args: Array[String]) {  val conf = new SparkConf()   .setAppName("HiveDataSource")   .setMaster("spark://node1:7077")     val sc = new SparkContext(conf);  val hiveContext = new HiveContext(sc);  hiveContext.sql("SHOW tables").show()  sc.stop() }}

 

将程序打包到spark主机,通过spark-submit命令执行:

./bin/spark-submit --class com.spark.test.Hive --master spark://node1:7077 ./jar/Test.jar

 

关于spark-submit命令的说明,参考官网:

http://spark.apache.org/docs/1.6.0/submitting-applications.html

 

注意点:

1、--deploy-mode cluster 在集群模式中要注意将jar文件放到hdfs中或都存在的文件位置中。

集群模式是将程序发布到works节点运行driver程序。本地模式只运行在程序提交的节点上client,结果也只输出在终端。