Во-первых, извинения, если это прозвучало плохо, я пытался помочь себе, но мне не ясно, где это неправильно.
Я пытаюсь запросить данные в Impala, которые были экспортированы из другой системы.
До сих пор он экспортировался в виде текстового файла с разделителями каналов, который я смог хорошо импортировать, создав таблицу с правильной настройкой разделителя, скопировав в файл и выполнив инструкцию refresh
.
У нас были некоторые проблемы, когда в некоторых полях были символы перевода строки, и это выглядело так, как будто у нас есть больше данных, и они не обязательно соответствуют метаданным, которые я создал.
Было высказано предположение, что вместо этого мы можем использовать формат Parquet, и это прекрасно справится с внутренними переносами строк.
Я получил данные, и они выглядят примерно так (я изменил имя пользователя):
-rw-r--r--+ 1 UserName Domain Users 20M Jan 17 10:15 part-00000-6a763116-6728-4467-a641-32dd710857fe.snappy.parquet
-rw-r--r--+ 1 UserName Domain Users 156K Jan 17 10:15 .part-00000-6a763116-6728-4467-a641-32dd710857fe.snappy.parquet.crc
-rw-r--r--+ 1 UserName Domain Users 14M Jan 17 10:15 part-00001-6a763116-6728-4467-a641-32dd710857fe.snappy.parquet
-rw-r--r--+ 1 UserName Domain Users 110K Jan 17 10:15 .part-00001-6a763116-6728-4467-a641-32dd710857fe.snappy.parquet.crc
-rw-r--r--+ 1 UserName Domain Users 0 Jan 17 10:15 _SUCCESS
-rw-r--r--+ 1 UserName Domain Users 8 Jan 17 10:15 ._SUCCESS.crc
Если я создаю таблицу, хранящуюся как паркет через Impala, а затем выполняю hdfs dfs -ls
, я получаю что-то вроде следующего:
-rwxrwx--x+ 3 hive hive 2103 2019-01-23 10:00 /filepath/testtable/594eb1cd032d99ad-5c13d29e00000000_1799839777_data.0.parq
drwxrwx--x+ - hive hive 0 2019-01-23 10:00 /filepath/testtable/_impala_insert_staging
Что, очевидно, немного отличается от того, что я получил ...
Как мне создать таблицу в Impala, чтобы иметь возможность принимать то, что я получил, а также мне просто нужны файлы .parquet или мне также нужно поместить .parquet.crc файлы в?
Или то, что я получил, не подходит для цели?
Я пытался посмотреть документацию Impala для этого бита, но я не думаю, что это покрывает.
Это то, что мне нужно сделать с serde?
Я попытался указать сжатый_кодек как snappy, но это дало те же результаты.
Буду признателен за любую помощь.