Python 使用Delta格式与Pyspark SQL的queering表与Pyspark表之间的区别是什么?
我正在查询表格,但我使用两种方式得到了不同的结果,我想了解原因 我使用Delta location创建了一个表。我想查询存储在该位置的数据。我正在使用AmazonS3 我创建了如下表:Python 使用Delta格式与Pyspark SQL的queering表与Pyspark表之间的区别是什么?,python,apache-spark,pyspark,databricks,delta-lake,Python,Apache Spark,Pyspark,Databricks,Delta Lake,我正在查询表格,但我使用两种方式得到了不同的结果,我想了解原因 我使用Delta location创建了一个表。我想查询存储在该位置的数据。我正在使用AmazonS3 我创建了如下表: spark.sql(“使用增量位置's3://example/brown/client/trackingcampetings/TRACKING\u BOUNCES/DELTA'创建表brown\u client\u trackingcampetings.TRACKING\u反弹(ClientID INT,Send
spark.sql(“使用增量位置's3://example/brown/client/trackingcampetings/TRACKING\u BOUNCES/DELTA'创建表brown\u client\u trackingcampetings.TRACKING\u反弹(ClientID INT,SendID INT,SubscriberKey STRING))
我想使用下一行查询数据:
spark.sql(“从bronze\u client\u trackingcampaigns.TRACKING\u BOUNCES中选择计数(*))
但结果不好,应该是41832,但返回1
当我以其他方式执行相同的查询时:
spark.read.option(“header”,True).option(“inferSchema”,True).format(“delta”).table(“brown\u client\u trackingcampaiments.TRACKING\u BOUNCES”).count()
我得到的结果是41832
我目前的结果是:
我希望两种方法的结果都相同。返回的1实际上是行计数,而不是实际结果。将sql语句更改为:
df = spark.sql("SELECT COUNT(*) FROM bronze_client_trackingcampaigns.TRACKING_BOUNCES")
df.show()
您现在应该得到相同的结果