您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“hive執行spark任務的示例分析”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“hive執行spark任務的示例分析”這篇文章吧。
public static void main(String[] args) throws Exception{
if (args.length < 1) {
System.err.println(" Usage: JavaWordCount <file> <savepath> ");
System.out.println(" examle: ./bin/spark-submit --name \"WorktrendJob\" "+ "--master spark://192.168.0.61:7077 --executor-memory 1G "
+ "--class et.theme.vis.job.WorktrendJob spark-1.jar "+ "/data/china/china.txt file:///data/china ");
System.exit(1);
}
SimpleDateFormat sdf = new SimpleDateFormat( "yyyy-MM-dd" );
DATE_MATH = sdf.format(new Date());
System.out.println("--------****WorktrendJob*****----------------");
System.out.println("-----------------------------------------------");
System.out.println("-----------spark開始計算------------------------");
//job name
SparkConf sparkConf = new SparkConf().setAppName("MyCustomerJob");
//spark連接
JavaSparkContext ctx = new JavaSparkContext(sparkConf);
//創建hive連接
HiveContext hiveContext = new HiveContext(ctx);
//mysql 配置
Properties connectionProperties = new Properties();
connectionProperties.setProperty("user", MYSQL_USER);
connectionProperties.setProperty("", MYSQL_PASSWORD);
//查詢所有
DataFrame queryall = queryAll(hiveContext,null);
//注冊臨時表
queryall.registerTempTable("first");
//查詢臨時表計算1
String sql = "";
//查詢 計算2
String sql1 = "";
//將計算結果轉化DataFrame
DataFrame sql_a = hiveContext.sql(sql);
DataFrame sql_b = hiveContext.sql(sql1);
// 合并2個DataFrame 相當與 left join
DataFrame join = sql_a.join(sql_b,sql_b.col(DATE_END).equalTo(sql_a.col(DATE_END)),"left_outer");
//在mysql建表
sql_a.write().mode(SaveMode.Append).jdbc(MYSQL_JDBC_URL, "test", connectionProperties);
//關閉
ctx.stop();
}
public static DataFrame queryAll(HiveContext hiveContext, String arg){
String sql = "";
DataFrame queryAll = hiveContext.sql(sql);
//查詢結果轉化成RDD抽象數據集
JavaRDD<WorktrendInfo> name = queryAll.javaRDD().map(new Function<Row, WorktrendInfo>(){
@Override
public WorktrendInfo call(Row v1) throws Exception {
//將RDD抽象數據集放入vo.class
CustomerInfo customerInfo = new CustomerInfo();
customerInfo.setCity(v1.getString(0));
return null;//將customerInfo返回
}
});
//將結果vo轉化成DataFrame ~return
DataFrame df = hiveContext.createDataFrame(name, WorktrendInfo.class);
return df;
}
以上是“hive執行spark任務的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。