spark shell和spark dataframe为Parquet文件提供了不同的结果

zzwlnbp8  于 2021-06-27  发布在  Hive
关注(0)|答案(0)|浏览(212)

我在hdfs location/data/published/r6/omega中有数据,其中充满了Parquet文件,在etl\u cre\u tmst列中有数据。Parquet文件有数据

val loc = "/data/published/r6/omega"
 val df = sqlContext.read.parquet(loc)
 df.select("etl_cre_tmst").show(10,false)

 +---------------------+
 |etl_cre_tmst         |
 +---------------------+
 |2019-03-08 04:41:10.0|
 |2019-03-08 04:41:10.0|
 |2019-03-08 04:41:10.0|
 |2019-03-08 04:41:10.0|
 |2019-03-08 04:41:10.0|
 |2019-03-08 04:41:10.0|
 +---------------------+

但是当我试图通过配置单元表访问数据时,它只显示null

val df =  hc.sql("select etl_cre_tmst from db_r6.omega  ")
 df.show(10,false)

 +---------------------+
 |etl_cre_tmst         |
 +---------------------+
 |null|
 |null|
 |null|
 |null|
 |null|
 +---------------------

etl\u cre\u tmst的Parquet文件模式和数据类型与配置单元表模式和数据类型匹配。etl\u cre\u tmst的数据类型是parquet文件和hive表中的timestamp
当我试图通过sparkshell访问相同的数据时,为什么会得到空值。当我通过hiveshell访问同一个表时,它就工作了。这个问题仅限于spark shell
有人能帮忙吗?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题