Spark SQL中允许的临时表名格式有限制吗?我问这个是因为当我使用:
json_RDD.registerTempTable("tweet_data")
trends_data=hiveCtx.sql("SELECT * FROM tweet_data")
我获得了以下异常:
/opt/spark-1.4.1/python/lib/py4j-0.8.2.1-src.zip/py4j/protocol.py in get_return_value(answer, gateway_client, target_id, name)
298 raise Py4JJavaError(
299 'An error occurred while calling {0}{1}{2}.n'.
但是当我使用时
json_RDD.registerTempTable("tweets")
trends_data=hiveCtx.sql("SELECT * FROM tweets")
它运行良好。我使用的是PySpark,Spark的版本是1.4.1
我刚刚在Scala(Spark 1.6)中重新尝试了您的示例,在这两种情况下都没有遇到任何错误。
对表名的唯一限制是点。如果表名中有点(.),请在表名中加上反引号(`)。
查看此处了解更多详细信息。