實(shí)驗(yàn)環(huán)境: linux centOS 6.7 vmware虛擬機(jī)

spark-1.5.1-bin-hadoop-2.1.0
apache-hive-1.2.1
eclipse 或IntelJIDea 本次使用eclipse.
代碼:
import org.apache.spark.SparkConf;
import org.apache.spark.api.java.JavaSparkContext;
import org.apache.spark.sql.DataFrame;
import org.apache.spark.sql.hive.HiveContext;
public class SparkOnHiveDemo {
public static void main(String[] args) {
// 首先還是創(chuàng)建SparkConf
SparkConf conf = new SparkConf().setAppName("HiveDataSource");
// 創(chuàng)建JavaSparkContext
JavaSparkContext sc = new JavaSparkContext(conf);
// 創(chuàng)建HiveContext,注意,這里,它接收的是SparkContext作為參數(shù),不是JavaSparkContext
HiveContext hiveContext = new HiveContext(sc.sc());
//1.可以使用HiveContext 下面的sql(xxx語句)執(zhí)行HiveSQL語句
//1 .刪除表,創(chuàng)建表
// stars_infos ,stars_scores
hiveContext.sql("DROP TABLE IF EXISTS stars_infos");
hiveContext.sql("CREATE TABLE IF NOT EXISTS stars_infos(name STRING,age INT) "
+ "row format delimited fields terminated by ','");
//2.向表里面導(dǎo)入數(shù)據(jù)
hiveContext.sql("LOAD DATA "
+ "LOCAL INPATH "
+ "'/root/book/stars_infos.txt' "
+ "INTO TABLE stars_infos");
hiveContext.sql("DROP TABLE IF EXISTS stars_scores");
hiveContext.sql("CREATE TABLE IF NOT EXISTS stars_scores(name STRING,score INT) "
+ "row format delimited fields terminated by ','");
hiveContext.sql("LOAD DATA "
+ "LOCAL INPATH "
+ "'/root/book/stars_score.txt' "
+ "INTO TABLE stars_scores");
//3.從一張已經(jīng)存在的hive表里面拿數(shù)據(jù),轉(zhuǎn)換為DF
DataFrame superStarDataFrame = hiveContext.sql("SELECT si.name,si.age,ss.score "
+ "FROM stars_infos si "
+ "JOIN stars_scores ss ON si.name=ss.name "
+ "WHERE ss.score>=90");
//4.把DF的數(shù)據(jù)再持久化到hive中去,千萬別和registerTemtable搞混了
hiveContext.sql("DROP TABLE IF EXISTS superStar");
superStarDataFrame.saveAsTable("superStar");
//5.直接從Hive中得到DF
hiveContext.table("superStar").show();
sc.close();
}
}元數(shù)據(jù):
可以下載附件,然后上傳到指定的目錄下。
把程序打包jar后上傳到linux指定的目錄下,寫一個腳本。腳本附件見正文。具體內(nèi)容修改即可。
運(yùn)行腳本就可以了。當(dāng)然要保證MySQL數(shù)據(jù)庫正常,hive正常。
附件:http://down.51cto.com/data/2366931另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
分享題目:Spark整合hive實(shí)現(xiàn)數(shù)據(jù)的讀取輸出-創(chuàng)新互聯(lián)
文章分享:http://www.chinadenli.net/article28/djogjp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、自適應(yīng)網(wǎng)站、網(wǎng)站營銷、網(wǎng)站設(shè)計(jì)、企業(yè)網(wǎng)站制作、ChatGPT
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容