在使用Scala从PySpark迁移到Spark期间,我遇到了一个问题,即SqlContext的registerDataFrameAsTable method是私有的。这让我觉得我的方法可能不正确。在PySpark中,我执行以下操作:加载每个表:df = sqlContext.load(source, url, dbtable)
,然后注册每个sqlContext.registerDataFrameAsTable(df, dbtable)
,最后使用sqlContext.sql
方法我可以进行查询(这基本上就是我需要的)。
这是正确的方法吗?我怎样才能在Scala中实现它?
答案 0 :(得分:1)
在Scala中,registerTempTable
和saveAsTable
(这是实验性的)方法可以直接在DataFrame对象上使用,并且应该使用。