Я хотел бы импортировать таблицу из 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.