python - 为什么 registerTempTable 从数据框中删除一些行?

标签 python azure apache-spark pyspark azure-hdinsight

我尝试通过以下方式在 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/

相关文章:

python - 如何使用正则表达式从文本中构建 python 列表?

Azure - 部署到云服务时虚拟网络不存在

azure - 如何通过处理的有效负载中的 id 查询日志中服务总线过去的执行情况?

hadoop - 在 Spark 集群和 YARN 上运行的 Apache Zeppelin

python - 作业因阶段失败而中止 : Task 5 in stage 3. 0 失败 1 次

python - 将 Pandas 数据框上传到 MySQL 数据库后如何获取列的自动增量值

python - 为反向关系查找实现 django-filter MultipleModelChoiceField?

azure - Azure 门户中的 V3 Function App 出现奇怪错误

写入 STDOUT 时,python 子进程模块因 Spark-submit 命令而挂起

python - docker run 中的flask主机地址