为什么 registerTempTable 从数据框中删除一些行?
Why registerTempTable removes some rows from the data-frame?
我尝试通过以下方式在 HDInsight 上使用 Spark 数据帧创建 pandas 数据帧:
tmp = sqlContext.createDataFrame(sparkDf)
tmp.registerTempTable('temp')
看起来 registerTempTable
从数据框中删除了一些行。
以下命令returns11000
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
表示你根本不想限制数据帧的大小(小心这一点,因为如果结果集足够大,它可能会导致你的驱动程序运行 内存不足或您的浏览器在渲染图表时 hang/crash:
%%sql -o tmp -n -1
SELECT * FROM temp
我尝试通过以下方式在 HDInsight 上使用 Spark 数据帧创建 pandas 数据帧:
tmp = sqlContext.createDataFrame(sparkDf)
tmp.registerTempTable('temp')
看起来 registerTempTable
从数据框中删除了一些行。
以下命令returns11000
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
表示你根本不想限制数据帧的大小(小心这一点,因为如果结果集足够大,它可能会导致你的驱动程序运行 内存不足或您的浏览器在渲染图表时 hang/crash:
%%sql -o tmp -n -1
SELECT * FROM temp