【问题标题】:Perform sql join using sqlcontext spark [duplicate]使用 sqlcontext spark 执行 sql join [重复]
【发布时间】:2017-07-25 15:31:31
【问题描述】:

我尝试运行查询以使用 sqlcontext 之类的连接查询 Oracle db,

val sql="select a from b,c where b.join=c.join"
val dataframe = sqlcontext.read.jdbc(url,sql,connection_properties)

我收到无效的表名错误。 但是,如果我尝试像下面这样查询表,它工作正常。

val df1 = sqlcontext.read.jdbc(url,"b",connection_properties)
val df2 = sqlcontext.read.jdbc(url,"c",connection_properties)

是否无法使用 sqlcontext 运行连接查询。

【问题讨论】:

    标签: hadoop apache-spark


    【解决方案1】:

    这是你需要做的,从下面的表中创建两个数据框

    val df1 = sqlcontext.read.jdbc(url,"b",connection_properties)
    val df2 = sqlcontext.read.jdbc(url,"c",connection_properties)
    

    并使用要加入的键加入两个数据框

    df1.join(df2, <join condition>, <which join>)
    
    //example
    df1.join(df2, df1($"id") === df2($"id"), "left")
    

    据我所知,我认为这是一个更好的选择

    希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 2011-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多