python - Spark:spark.sql 和 sqlCtx.sql 有什么区别
问题描述
在使用 pyspark 的 Spark 2.1 中,如果你想查询一个表(例如从 HDP),你可以同时运行
df = sqlCtx.sql(''' select * from table ''')
和
df = spark.sql(''' select * from table ''')
为什么你会做一个而不是另一个?两者有什么区别。
解决方案
sqlCtx
是启动时创建的默认值SQLContext
。spark
是启动时创建的默认值SparkSession
。根据文档 for是替换为:SQLContext
SparkSession
SQLContext
从 Spark 2.0 开始,它被 SparkSession 取代。但是,我们将类保留在这里是为了向后兼容。
推荐阅读
- azure - 如何在 Azure ARM 模板中为可用区使用 IF 语句?
- java - 重命名 Athena 中的分区列名称
- javascript - 在 test.js 文件中使用智能合约变量时出错
- c# - 从 Windows 打印设置对话框保存打印设置
- azure - Azure DevOps 管道定义:如何在 GUI 和 yml 视图之间切换
- html - 如何隐藏输入必填消息“请填写此字段”
- php - HTML 和 PHP 中的默认国家和州选择
- java - 按 blob 显示图像不正确
- python-3.x - 如何通过更改 Windows 中的 cpu 优化标志从源构建 tensorflow?
- php - 如何从 laravel 6.x 的 /resource/js 和 /resource/css 加载 css、js?