【发布时间】:2016-10-22 04:20:43
【问题描述】:
我必须使用 Spark 和 Scala 将表从 Oracle 导入 Hive,Oracle 中的日期列看起来像 Oracle column date,我必须将其转换为 Hive 中的 dt_skey 格式 (YYYYMMDD)。 Hive 中的表格格式是 Parquet。我怎样才能做到这一点?我用谷歌搜索了很多,但没有找到任何解决方案。
提前致谢
【问题讨论】:
-
看来输入是字符串格式的,你也需要字符串格式的输出。输入是一个大问题。没有更多信息,16-09-15 是什么意思? 2015 年 9 月 16 日还是 2016 年 9 月 15 日?在 Oracle 表中,您永远不应该将日期存储为字符串 - 这只是众多原因之一。
-
你试过使用 Sqoop 吗?
-
YY-MM-DD 是 oracle 中的格式,oracle 中的数据类型是 DATE,输入是 DATE 数据类型我必须将其更改为 yyyymmdd 格式,并且其数据类型将在 hive 中为 int。
-
我的问题是如何在 hive 中将其转换为 yyyymmdd (dt_skey) 格式。
-
@Developer - 我不知道 Hive、Spark 等是什么。您确定“dt_skey”必须是字符串,而不是“日期”数据类型吗? “日期”数据类型中的值没有格式 - 您在 Oracle 中的当前日期在 ORACLE 中没有格式 16-09-16,它们仅以这种方式显示在您的屏幕上(由您使用的前端应用程序)。您是否尝试按原样导入数据而不进行任何转换?或者你确定你在 Hive 中需要一个字符串,而不是日期,数据类型?
标签: oracle scala apache-spark hive