У меня есть каталог, содержащий файлы ORC. Я создаю DataFrame, используя приведенный ниже код
var data = sqlContext.sql("SELECT * FROM orc.`/directory/containing/orc/files`");
Он возвращает фрейм данных с этой схемой
[_col0: int, _col1: bigint]
Где, как ожидается, схема
[scan_nbr: int, visit_nbr: bigint]
Когда я запрашиваю файлы в формате паркета, я получаю правильную схему.
Мне не хватает каких-либо конфигураций?
Добавление дополнительных сведений
Это Hortonworks Distribution HDP 2.4.2 (Spark 1.6.1, Hadoop 2.7.1, Hive 1.2.1)
Мы не меняли конфигурации HDP по умолчанию, но это определенно не то же самое, что обычная ванильная версия Hadoop.
Данные записываются вышестоящими заданиями Hive, простым CTAS (CREATE TABLE sample STORED AS ORC as SELECT ...).
Я тестировал это на поле, созданном CTAS с последней версией 2.0.0, и оно сохраняет имена столбцов в файлах орков.