我尝试通过以下方式在 HDInsight 上使用 Spark 数据帧创建 pandas 数据帧:
tmp = sqlContext.createDataFrame(sparkDf)
tmp.registerTempTable('temp')
看起来 registerTempTable
从数据框中删除了一些行。
以下命令返回 11000
sparkDf.count()
而 tmp
只有 2500 行。
我正在按照here描述的步骤进行操作.
最佳答案
我假设您正在使用 Jupyter 笔记本,并且您正在从 SQL 查询获取数据,即
%%sql -o tmp
SELECT * FROM temp
发生这种情况是因为 %%sql
查询透明地将结果数据帧 tmp
的大小限制为 2500 行。您可以使用 -n
选项选择新的限制:
%%sql -o tmp -n 11000
SELECT * FROM temp
您还可以选择 -1
表示您根本不想限制数据帧的大小(对此要小心,因为如果结果集足够大,可能会导致您的驱动程序内存不足或您的浏览器在渲染图表时挂起/崩溃):
%%sql -o tmp -n -1
SELECT * FROM temp
关于python - 为什么 registerTempTable 从数据框中删除一些行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38595679/