Аргументы Spark conf
разработаны специально для конфигурации Spark (ключи, которые вы могли бы в противном случае поместить в spark-defaults.conf
).
Их нельзя использовать с общими свойствами (хотя можно использовать префикс spark
с вашей пользовательской конфигурацией, если он не конфликтует с реальной конфигурацией Spark).
Если вы хотите предоставить общую конфигурацию, имеет смысл использовать Spark-независимые утилиты, специфичные для вашего языка.
команда tar
имеет переключатель -O
для извлечения ваших файлов на стандартный вывод. Таким образом, вы можете направить эти выходные данные в grep/awk
tar xvf test.tar -O | awk '/pattern/{print}'
tar xvf test.tar -O | grep "pattern"
, например, чтобы возвратить имя файла одним найденным шаблоном
tar tf myarchive.tar | while read -r FILE
do
if tar xf test.tar $FILE -O | grep "pattern" ;then
echo "found pattern in : $FILE"
fi
done
Самый простой способ - использовать avfs . Я использовал это раньше для таких задач.
По сути, синтаксис:
avfsd ~/.avfs # Sets up a avfs virtual filesystem
rgrep pattern ~/.avfs/path/to/file.tar#/
/path/to/file.tar
- это путь к фактическому файлу tar.
Предварительное ожидание ~/.avfs/
(точка монтирования) и добавление # позволяет avfs представить файл tar в качестве каталога.
Модуль tarfile
Python вместе с Tarfile.extractfile ()
позволят вам проверить архивный файл содержимое без распаковки на диск.