侧视图连接explode spark1 vs spark2

b09cbbtk  于 2021-05-29  发布在  Hadoop
关注(0)|答案(0)|浏览(273)

如果我在spark1.6中运行以下命令,它可以正常工作,但是在spark2.2中我得到以下错误。有人知道为什么以及如何修正语法吗?

sqlContext.sql("SELECT a.* FROM table1 a Lateral View explode(attributes) attributes_table as attributesfull inner join table2 c ON a.iID = c.iID")

org.apache.spark.sql.catalyst.parser.ParseException:
mismatched input 'inner' expecting {<EOF>, ',', 'WHERE', 'GROUP', 'ORDER', 'HAVING', 'LIMIT', 'LATERAL', 'WINDOW', 'UNION', 'EXCEPT', 'MINUS', 'INTERSECT', 'SORT', 'CLUSTER', 'DISTRIBUTE'}(line 1, pos 92)

== SQL ==
SELECT a.* FROM table1 a Lateral View explode(attributes) attributes_table as attributesfull inner join table2 c ON a.iID = c.iID
---------------------------------------------------------------------------------------------^^^

  at org.apache.spark.sql.catalyst.parser.ParseException.withCommand(ParseDriver.scala:217)
  at org.apache.spark.sql.catalyst.parser.AbstractSqlParser.parse(ParseDriver.scala:114)
  at org.apache.spark.sql.execution.SparkSqlParser.parse(SparkSqlParser.scala:48)
  at org.apache.spark.sql.catalyst.parser.AbstractSqlParser.parsePlan(ParseDriver.scala:68)
  at org.apache.spark.sql.SparkSession.sql(SparkSession.scala:637)
  at org.apache.spark.sql.SQLContext.sql(SQLContext.scala:691)
  ... 50 elided

我想我可以通过使用一个表来解决这个问题,只针对爆炸值,然后加入到这个表中,但是我想知道为什么它不再有效或者有更好的想法。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题