У меня есть паркетные каталоги с таким названием:
parquetNames = [NAME1,NAME1_MS,NAME2, NAME2_MQ]
Я хочу загрузить только паркет в NAME1
и NAME2
, но у меня проблемы с отрицательным просмотром вперед и чередованием. Если я сделаю:
s3BaseDir+'NAME*'
затем, как и ожидалось, загружаются все паркетные доски. Из здесь и здесь Я мог бы сделать отрицательный просмотр вперед с таким чередованием, чтобы избежать полных подстрок "_MS"
или "_MQ"
:
s3BaseDir+'NAME*(?!{_MS,_MQ})'
Но я получаю
AnalysisException: 'Path does not exist'
.
Кажется, он буквально воспринимает более сложное регулярное выражение.
Можно ли в pyspark spark.read.parquet
выполнить отрицательный просмотр вперед? Можно ли это тоже совместить с чередованием? Как?
re
или вам нужно использоватьspark.read.parquet
? - person miike3459   schedule 30.11.2018re
, но это, как мне кажется, включает в себя третьи библиотеки, которые я не хочу / не могу использовать. - person xv70   schedule 30.11.2018re
не является сторонним и обычно не включает сторонние библиотеки, если вы его правильно используете. - person miike3459   schedule 30.11.2018spark.parquet.read
. - person xv70   schedule 01.12.2018