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 错误实例化 'org.apache.spark.sql.hive.HiveSessionStateBuilder':"