发现用spark写表join比flink 简单很多,至少schema 可以省了,下面是一个例子
public static void main(String[] args) {
SparkSession s= SparkSession.builder().appName("rec").getOrCreate();
Dataset<Row> user=s.read().format("jdbc")
.option("driver", "com.mysql.jdbc.Driver")
.option("url", "jdbc:mysql://*")
.option("dbtable", "user")
.option("user", "1")
.option("password", "1")
.load();
Dataset<Row> house=s.read().format("jdbc")
.option("driver", "com.mysql.jdbc.Driver")
.option("url", "jdbc:mysql://")
.option("dbtable", "house")
.option("user", "1")
.option("password", "1")
.load();
user.cache();
house.cache();
user.createOrReplaceTempView("user");
house.createOrReplaceTempView("house");
Dataset<Row> temp= s.sql("select user.user_name, house.house_name from user inner join house where user.uid=house.uid ");
temp.write().csv("/home/ziroom/house-user");
}
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。