spark 表关联

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spark 表关联相关的知识,希望对你有一定的参考价值。

发现用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 表关联的主要内容,如果未能解决你的问题,请参考以下文章

spark怎么实现将mysql表中按照字段的优先级关联起来

java连接hbase,需要实现多表关联查询,比如a,b两表其中可以通过字段进行关联,请问如何join查询两个表

Spark基础学习笔记26:Spark SQL数据源 - JSON数据集

客快物流大数据项目(六十四):运单主题

客快物流大数据项目(六十六):车辆主题

多个表关联表如何查询?