W3Cschool
恭喜您成為首批注冊用戶
獲得88經驗值獎勵
Spark SQL也支持從Apache Hive中讀出和寫入數(shù)據(jù)。然而,Hive有大量的依賴,所以它不包含在Spark集合中。可以通過-Phive
和-Phive-thriftserver
參數(shù)構建Spark,使其支持Hive。注意這個重新構建的jar包必須存在于所有的worker節(jié)點中,因為它們需要通過Hive的序列化和反序列化庫訪問存儲在Hive中的數(shù)據(jù)。
當和Hive一起工作是,開發(fā)者需要提供HiveContext。HiveContext從SQLContext繼承而來,它增加了在MetaStore中發(fā)現(xiàn)表以及利用HiveSql寫查詢的功能。沒有Hive部署的用戶也可以創(chuàng)建HiveContext。當沒有通過hive-site.xml
配置,上下文將會在當前目錄自動地創(chuàng)建metastore_db
和warehouse
。
// sc is an existing SparkContext.
val sqlContext = new org.apache.spark.sql.hive.HiveContext(sc)
sqlContext.sql("CREATE TABLE IF NOT EXISTS src (key INT, value STRING)")
sqlContext.sql("LOAD DATA LOCAL INPATH 'examples/src/main/resources/kv1.txt' INTO TABLE src")
// Queries are expressed in HiveQL
sqlContext.sql("FROM src SELECT key, value").collect().foreach(println)
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: