我正在尝试阅读具有数据类型为timestamp, length=9
的日期列的Hive表。
我的代码类似于以下内容 -
df = hc.sql("select * from schema.table")
它可以读取所有其他列(datatype = varchar
)。
在日期栏
中读取null
或提供none
我打印了df.dtypes
,发现数据框架构已正确推断,且日期列有timestamp
数据类型
令人惊讶的是,相同的代码在notebook
中有效,只在spark-shell
环境中失败。
有人可以指导我出现此错误的错误或限制,我该如何纠正?
答案 0 :(得分:0)
我在spark中看到过这个问题,当数据类型为timestamp时,它将显示为null,这是一个错误。有一种方法可以绕过它,你必须使用类似disposeMe.unsubscribe();
之类的东西将日期列读取为字符串,然后将其转换为时间戳。如果你能告诉我源类型和你用来拉取像sqoop这样的数据的工具,或者你在某种形式的文件中获取数据?我可以帮助你更好。