使用Saprk SQL 操作Hive的數據 前提準備: 1、啟動Hdfs,hive的數據存儲在hdfs中; 2、啟動hive -service metastore,元數據存儲在遠端,可以遠程訪問; 3、在spark的conf目錄下增加hive-site.xml配置文件,文件內容: 編寫Scala測試 ...
使用Saprk SQL 操作Hive的數據
前提準備:
1、啟動Hdfs,hive的數據存儲在hdfs中;
2、啟動hive -service metastore,元數據存儲在遠端,可以遠程訪問;
3、在spark的conf目錄下增加hive-site.xml配置文件,文件內容:
<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,結果也只輸出在終端。