Использование инструментов паркета для файлов в формате hdfs - PullRequest
0 голосов
/ 14 ноября 2018

Я скачал и собрал parquet-1.5.0 из https://github.com/apache/parquet-mr.

Теперь я хочу запустить некоторые команды для моих файлов паркета, которые находятся в формате hdf.Я попытался это:

cd ~/parquet-mr/parquet-tools/src/main/scripts
./parquet-tools meta hdfs://localhost/my_parquet_file.parquet

, и я получил:

Ошибка: не удалось найти или загрузить основной класс parquet.tools.Main

Ответы [ 2 ]

0 голосов
/ 28 января 2019

Загрузить банку Загрузите банку из репозитория Maven или из любого места по вашему выбору.Просто погугли это.Время публикации этой статьи я могу получить здесь: паркетные инструменты.

Если вы вошли в окно hadoop:

wget http://central.maven.org/maven2/org/apache/parquet/parquet-tools/1.9.0/parquet-tools-1.9.0.jar

Эта ссылка можетпрекрати работать через несколько дней.Так что получите новую ссылку из репозитория Maven.

Построить банку Если вы не можете загрузить банку, вы также можете собрать банку из исходного кода.Клонируйте репозиторий parquet-mr и постройте банку из исходного кода

git clone https://github.com/apache/parquet-mr

mvn clean package

Примечание: вам понадобится maven на вашей коробке, чтобы собратьsource.

Чтение файла паркета. Вы можете использовать эти команды для просмотра содержимого файла паркета -

Проверка схемы для файла s3 / hdfs:

hadoop jar parquet-tools-1.9.0.jar schema s3://path/to/file.snappy.parquet

hadoop jar parquet-tools-1.9.0.jar schema hdfs://path/to/file.snappy.parquet

Файл заголовкасодержимое:

hadoop jar parquet-tools-1.9.0.jar head -n5 s3://path/to/file.snappy.parquet

Проверьте содержимое локального файла:

java -jar parquet-tools-1.9.0.jar head -n5 /tmp/path/to/file.snappy.parquet

java -jar parquet-tools-1.9.0.jar schema /tmp/path/to/file.snappy.parquet

Дополнительные команды:

hadoop jar parquet-tools-1.9.0.jar –help
0 голосов
/ 15 ноября 2018

Сценарий построен на предположении, что parquet-tools-<version>.jar находится в каталоге с именем lib рядом с самим файлом сценария, например:

$ find -type f
./parquet-tools
./lib/parquet-tools-1.10.1-SNAPSHOT.jar

Вы можете настроить такой макет файла, выполнив следующие команды из корня git-репозитория parquet-mr (конечно, возможны многие альтернативные способы и места установки):

mkdir -p ~/.local/share/parquet-tools/lib
cp parquet-tools/src/main/scripts/parquet-tools ~/.local/share/parquet-tools/
cp parquet-tools/target/parquet-tools-1.5.0.jar ~/.local/share/parquet-tools/lib

После этого вы можете запустить ~/.local/share/parquet-tools/parquet-tools. (Я проверял это с версией 1.10.1-SNAPSHOT, хотя вместо 1.5.0.)

...