У меня есть секционированная таблица Impala, хранящаяся как Parquet. Могу ли я использовать Pig для загрузки данных из этой таблицы и добавления разделов в виде столбцов?
Стол Parquet определяется как:
create table test.test_pig (
name: chararray,
id bigint
)
partitioned by (gender chararray, age int)
stored as parquet;
И сценарий Pig выглядит так:
A = LOAD '/test/test_pig' USING parquet.pig.ParquetLoader AS (name: bytearray, id: long);
Однако gender
и age
отсутствуют, когда DUMP A
. Отображаются только name
и id
.
Я пробовал с:
A = LOAD '/test/test_pig' USING parquet.pig.ParquetLoader AS (name: bytearray, id: long, gender: chararray, age: int);
Но я бы получил ошибку, например:
ОШИБКА org.apache.pig.tools.grunt.Grunt — ОШИБКА 1031: Несовместимая схема: слева — «имя: байтовый массив, идентификатор: длинный, пол: байтовый массив, возраст: целое», справа — «имя: байтовый массив, идентификатор: длинный»
Надеюсь получить здесь совет. Благодарю вас!