Итак, у меня есть входные данные, которые выглядят так:
HEADER_A|HEADER_B|HEADER_C|HEADER_D
2018-09-28 22:12:09.0461760|first|last|123
2018-09-28 22:14:11.0123550|first|second|124
Затем я читаю это в фрейм данных и сохраняю как временное представление с именем temp_view
.Все читается как строка.
Затем я сделаю запрос к этому временному представлению:
val df = sqlContext.sql("""
SELECT
from_unixtime(unix_timestamp(), 'yyyy-MM-dd HH:mm:ss') as ETL_RunDate,
HEADER_A as timestamp,
HEADER_B as string,
HEADER_c as string,
HEADER_D as string
FROM temp_view
""")
И затем запишу этот кадр данных в файл.Этот файл выглядит следующим образом:
2018-10-23 05:32:49|2018-09-28T22:12:09.046Z|first|last|123
2018-10-23 05:32:49|2018-09-28T22:14:11.123Z|first|second|124
Если я затем использую эти данные в качестве данных для таблицы улья со схемой:
CREATE EXTERNAL TABLE `testdb.testtable`(
`runts` timestamp COMMENT '',
`header_a` timestamp COMMENT '',
`header_b` string COMMENT '',
`header_c` string COMMENT '',
`header_d` string COMMENT '')
И запросить эту таблицу -
select * from testdb.testtable;
header_a
прибывает как ноль, когда это должно прибыть, поскольку основные данные там.
Почему это происходит и как я могу это исправить?