中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Spark 整合hive 實現數據的讀取輸出

發布時間:2020-08-06 15:32:27 來源:網絡 閱讀:14427 作者:ChinaUnicom110 欄目:大數據

實驗環境: linux centOS 6.7 vmware虛擬機

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) {
		
		// 首先還是創建SparkConf
		SparkConf conf = new SparkConf().setAppName("HiveDataSource");
		// 創建JavaSparkContext
		JavaSparkContext sc = new JavaSparkContext(conf);
		// 創建HiveContext,注意,這里,它接收的是SparkContext作為參數,不是JavaSparkContext
		HiveContext hiveContext = new HiveContext(sc.sc());
		
		//1.可以使用HiveContext 下面的sql(xxx語句)執行HiveSQL語句
		//1 .刪除表,創建表
		// 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.向表里面導入數據
		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.從一張已經存在的hive表里面拿數據,轉換為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的數據再持久化到hive中去,千萬別和registerTemtable搞混了
		hiveContext.sql("DROP TABLE IF EXISTS superStar");
		superStarDataFrame.saveAsTable("superStar");
		
		//5.直接從Hive中得到DF
		hiveContext.table("superStar").show();
		
		sc.close();
	}
}

 元數據:

可以下載附件,然后上傳到指定的目錄下。

 把程序打包jar后上傳到linux指定的目錄下,寫一個腳本。腳本附件見正文。具體內容修改即可。


 運行腳本就可以了。當然要保證MySQL數據庫正常,hive正常。

附件:http://down.51cto.com/data/2366931
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

融水| 班玛县| 安阳市| 汉寿县| 灵宝市| 阳朔县| 菏泽市| 柳林县| 榕江县| 安庆市| 扶风县| 新河县| 武胜县| 安吉县| 武鸣县| 雷波县| 清苑县| 通州区| 郓城县| 平度市| 佛冈县| 华坪县| 阳江市| 巩义市| 都昌县| 绍兴县| 福建省| 扬中市| 门源| 江口县| 祁阳县| 泗洪县| 南涧| 大埔县| 朝阳市| 丹凤县| 百色市| 黔南| 长乐市| 镇巴县| 岢岚县|