Импорт отметки времени с часовым поясом из Oracle в Hive с использованием Spark - PullRequest
0 голосов
/ 20 февраля 2019

Я хотел бы импортировать таблицу из Oracle в Hive.Эта таблица содержит поле с меткой времени типа данных с часовым поясом.Пример:

30-JAN-46 03.24.53.000000000 +00: 00

Я использую Spark 2.2 (и Scala) для импорта данных.При импорте возникает ошибка:

java.lang.Exception: java.sql.SQLException: неподдерживаемый тип -101

Моя цель - сохранить метку времени и часовой пояс в Hive.

Может ли кто-нибудь предоставить идеи о том, как действовать?

Заранее большое спасибо.

Код искры:

val ora_jdbc_url = "jdbc:oracle:thin:/..."

val query = """(SELECT to_char("TEST_TABLE"."COL_WITH_TIMESTAMP") as col_with_timestamp FROM "TEST_TABLE") TEST_TABLE"""

val connectionProperties = new Properties()
connectionProperties.put("user", "Test")
connectionProperties.put("password", "test123")
connectionProperties.put("fetchsize", "100000")
connectionProperties.put("driver", "oracle.jdbc.driver.OracleDriver")

spark.read.jdbc(ora_jdbc_url,query,connectionProperties).show(false)

|-----------------------------------|
|col_with_timestamp                 |
|-----------------------------------|
|10-DEC-18 04.00.33.980000 PM +00:00|
|-----------------------------------|

Кажется, что только отверсия 2.3, импорт TIMESTAMP_WITH_TIMEZONE возможен без преобразования его в STRING: https://issues.apache.org/jira/browse/SPARK-20557.

...