spark读取hive是最简单的,构造一个sparksession对象,直接执行SQL就得读取,然后直接insert就能写入。
因为spark客户端配置了你的hive数据库的信息,所以能够直接读取hive数据库。
spark = SparkSession
.builder()
.appName("Java Spark SQL basic example")
.master(evm)
.config("hive.exec.dynamic.partition", "true") //
.config("hive.exec.max.dynamic.partitions.pernode", 10000)
.config("hive.exec.max.dynamic.partitions", 100000)
.config("hive.exec.dynamic.partition.mode", "nonstrict")
.enableHiveSupport() // 启用HIVE数据源,必须参数
.getOrCreate();
// SQL : select * from xxx
public Dataset<Row> readFromHive(String sql) {
if (StringUtils.isBlank(sql)) {
throw new NullPointerException();
}
// 一定要先使用use database,不然你就得在sql中指定base。
spark.sq