码迷,mamicode.com
首页 > 其他好文 > 详细

spark 表关联

时间:2019-09-20 20:52:24      阅读:93      评论:0      收藏:0      [点我收藏+]

标签:drive   dataset   code   ase   简单   一个   temp   url   inner   

发现用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");

    }

spark 表关联

标签:drive   dataset   code   ase   简单   一个   temp   url   inner   

原文地址:https://blog.51cto.com/12597095/2439789

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!