首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Pyspark-SQL和Pyspark中使用Delta格式查询表有什么不同?

在Pyspark-SQL和Pyspark中使用Delta格式查询表有什么不同?
EN

Stack Overflow用户
提问于 2019-06-07 23:01:35
回答 1查看 503关注 0票数 1

我正在查询表,但我使用两种方式得到了不同的结果,我想了解一下原因。

我使用Delta location创建了一个表。我想查询我存储在该位置的数据。我正在使用亚马逊S3。

我创建了这样的表:

代码语言:javascript
运行
复制
spark.sql("CREATE TABLE bronze_client_trackingcampaigns.TRACKING_BOUNCES (ClientID INT, SendID INT, SubscriberKey STRING) USING DELTA LOCATION 's3://example/bronze/client/trackingcampaigns/TRACKING_BOUNCES/delta'")

我想使用下一行查询数据:

代码语言:javascript
运行
复制
spark.sql("SELECT count(*) FROM bronze_client_trackingcampaigns.TRACKING_BOUNCES")

但是结果不是很好,它应该是41832,但它返回1。

当我以其他方式执行相同的查询时:

代码语言:javascript
运行
复制
spark.read.option("header", True).option("inferSchema", True).format("delta").table("bronze_client_trackingcampaigns.TRACKING_BOUNCES").count()

我得到了41832的结果。

我目前的结果是:

我希望在这两种情况下都有相同的结果。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-09 20:32:02

你得到的1实际上是行数,而不是实际的结果。将sql语句更改为:

代码语言:javascript
运行
复制
df = spark.sql("SELECT COUNT(*) FROM bronze_client_trackingcampaigns.TRACKING_BOUNCES")
df.show()

您现在应该会得到相同的结果。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56496821

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档