在 Pyspark 中返回错误结果的 Impala 查询

Posted

技术标签:

【中文标题】在 Pyspark 中返回错误结果的 Impala 查询【英文标题】:Impala query returning incorrect results in Pyspark 【发布时间】:2019-07-08 09:41:26 【问题描述】:

我正在尝试从 pyspark 获取 Impala 表的计数。但是我在火花中得到了不正确的结果。

impala 表是一个分区表。它按年和月分区(EX:201906)。我什至在更新表后执行无效元数据、更改表恢复分区和刷新表。但我仍然没有在 spark 中得到正确的结果。

执行中

select count(*) dbname.tablename where timestamp>='2019-06-01' and timestamp<='2019-06-15' 

返回

10931

spark.sql("select count(*) dbname.tablename") where timestamp>='2019-06-01' and timestamp<='2019-06-15'

返回

0

【问题讨论】:

【参考方案1】:

它是镶木地板的表并从 Impala 写入行? 如果是,答案是here。

过滤 Impala 写入的 Parquet 数据时,Hive、Spark、Pig、自定义 MapReduce 作业和其他 Java 应用程序中的结果丢失

【讨论】:

以上是关于在 Pyspark 中返回错误结果的 Impala 查询的主要内容,如果未能解决你的问题,请参考以下文章

如何将 pyspark 输出写入 impala 表?

Impala 不支持 Unicode 字符

使用 impala jdbc 驱动程序时,not null 在 Pyspark 中不起作用

如何在pyspark中连接到黑斑羚?

如何在 pyspark 中使用 pandas UDF 并在 StructType 中返回结果

Impala 查询以随机顺序返回数据