【发布时间】:2021-04-01 04:18:04
【问题描述】:
我是 Pyspark 的新手。我正在使用 Impala JDBC 驱动程序 ImpalaJDBC41.jar 。在我的 pyspark 代码中,我使用以下代码。
df = spark.read \
.format("jdbc") \
.option("url", "jdbc:impala://<instance>:21051") \
.option("query", "select dst_val,node_name,trunc(starttime,'SS') as starttime from def.tbl_dst where node_name is not null and trunc(starttime,'HH') >= trunc(hours_add(now(),-1),'HH') and trunc(starttime,'HH') < trunc(now(),'HH')") \
.option("user", "") \
.option("password", "") \
.load()
但上述不起作用,“node_name is not null”不起作用。此外 trunc(starttime,'SS') 也不起作用。任何帮助将不胜感激。
sample input data :
dst_val,node_name,starttime
BCD098,,2021-03-26 15:42:06.890000000
BCD043,HKR_NODEF,2021-03-26 20:31:09
BCD038,BCF_NODEK,2021-03-26 21:29:10
Expected output :
dst_val,node_name,starttime
BCD043,HKR_NODEF,2021-03-26 20:31:09
BCD038,BCF_NODEK,2021-03-26 21:29:10
为了调试,我正在尝试打印 df.show。但是没有用。 我正在使用 df.show() ,但它仍然显示为 null 的记录。 node_name 的数据类型是“STRING”
【问题讨论】:
标签: apache-spark hadoop pyspark apache-spark-sql impala