内容简介:说明都在代码中:
说明都在代码中:
import java.io.File; import org.apache.spark.api.java.JavaRDD; import org.apache.spark.sql.Dataset; import org.apache.spark.sql.Row; import org.apache.spark.sql.SparkSession; /** * ClassName:SparkReadWriteHiveTest <br/> * Date: 2018年8月15日 下午1:37:26 <br/> * * @author fenglibin * @version * @see */ public class SparkReadWriteHiveTest { public static void main(String[] args) { /* * test_source_table结构如下,包括key和value两列,如下: * key, value * k1, 123 * k2, 234 */ String sql = "SELECT * FROM test_source_table_hive"; // warehouseLocation 指定管理数据库和表的默认位置 String warehouseLocation = new File("spark-warehouse").getAbsolutePath(); SparkSession sparkSession = SparkSession.builder().appName("Java Spark Hive Example").config("spark.sql.warehouse.dir", warehouseLocation).enableHiveSupport().getOrCreate(); // SQL查询的结果本身是DataFrames,支持所有正常的功能操作。 Dataset<Row> sqlDF = sparkSession.sql(sql); // 将数据转换为RDD然后处理 JavaRDD<Obj> resultRDD = sqlDF.javaRDD().map(row -> { Obj obj = new Obj(); obj.setKey(row.getAs("key")); obj.setValue(Long.parseLong(row.getAs("value")) * 1000); return obj; }); // 将RDD转换为Dataset Dataset<Row> tempResult = sparkSession.createDataFrame(resultRDD, Obj.class); // 将Dataset关联为临时视图test_desc_table_temp_hive,后续 SQL 操作中可使用 tempResult.createOrReplaceTempView("test_desc_table_temp_hive"); /* * test_desc_table_hive结构如下,包括key和value两列,如下: * key, value * k1, 123 * k2, 234 */ //将计算结果写出到hive中的目标表:test_desc_table_hive sparkSession.sql("insert into default.test_desc_table_hive select * from test_desc_table_temp_hive"); sparkSession.close(); } } class Obj { private String key; private long value; public String getKey() { return key; } public void setKey(String key) { this.key = key; } public long getValue() { return value; } public void setValue(long value) { this.value = value; } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- Spring Boot中整合Sharding-JDBC读写分离示例
- 想用数据库“读写分离” 请先明白“读写分离”解决什么问题
- Java 读写锁浅析
- Golang文件读写
- ReentrantReadWriteLock 读写锁解析
- 用Python读写文件
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Iterative Methods for Sparse Linear Systems, Second Edition
Yousef Saad / Society for Industrial and Applied Mathematics / 2003-04-30 / USD 102.00
Tremendous progress has been made in the scientific and engineering disciplines regarding the use of iterative methods for linear systems. The size and complexity of linear and nonlinear systems arisi......一起来看看 《Iterative Methods for Sparse Linear Systems, Second Edition》 这本书的介绍吧!