pyspark 中 spark.sql() 和 cursor.execute 的区别?

Posted

技术标签:

【中文标题】pyspark 中 spark.sql() 和 cursor.execute 的区别?【英文标题】:Difference between spark.sql() and cursor.execute in pyspark? 【发布时间】:2019-12-23 13:52:07 【问题描述】:

两者的工作方式有什么不同。因为我得到执行以下命令的结果。

spark.sql("select * from MetadataTable").show()

但是当我尝试运行cursor.execute("select * from MetadataTable") 时,它显示错误

“元数据表”不存在

cursor.execute 访问表“元数据表”应该怎么做?

【问题讨论】:

cursor 是什么? pg_hook = PostgresHook(postgres_conn_id="ingestion_db", schema="ingestiondb") connection = pg_hook.get_conn() cursor = connection.cursor() Connection.cursor 不是火花 【参考方案1】:

一目了然,spark.sql 是使用 SQL 处理数据的 Spark 方式。

Cursor.execute 似乎不是火花代码。

也许它是用于与数据库交互的 python 代码。

如果这看起来有问题,您可以分享文档,但可能查看文档应该可以解释它是什么。

【讨论】:

以上是关于pyspark 中 spark.sql() 和 cursor.execute 的区别?的主要内容,如果未能解决你的问题,请参考以下文章

pyspark在spark sql中函数之间的使用范围

在 spark sql--pyspark 中查找特定字符串

PySpark sql 中一些函数的总结(持续更新)

Pyspark 错误实例化 'org.apache.spark.sql.hive.HiveSessionStateBuilder':"

在 Spark SQL (pyspark) 中将行转置为列

pySpark 在 UDF 中使用 Spark SQL/DF 的最佳选择?