在pyspark中使用正则表达式读取文件夹中的文件
Read file in a folder using regex expression in pyspark
我正在尝试在本地和 s3 中使用以下代码从文件夹中读取文件。现在我正在本地测试。
#job_date_str = "2021-08-03T05:20:00"
path = f'{config["input"]["logs"][job]}{job_date_str}(.)*'
# also tried path = f'{config["input"]["logs"][job]}{job_date_str}*'
dataframe = spark.read.schema(schema).json(path, multiLine=multiline)
该文件夹在目录 (config["input"]["logs"][job]) 中有文件 2021-08-03T05:20:00.000-31bnrrpUT5qNLtEX8zWt.log.gz。 (YYYY-MM-DDTh:m:s.000-something)
它向我抛出错误
21/08/03 12:12:49 ERROR logger: error: java.net.URISyntaxException: Relative path in absolute URI: 2021-08-03T05:20:00.000-31bnrrpUT5qNLtEX8zWt.log.gz in get_json
不知道这是什么意思。
这里我有以job_date_str
开头的文件名
但早些时候我尝试使用读取文件。
#job_date_str = "2021-08-03T05:20:00"
path = f'{config["input"]["logs"][job]}{job_date_str}/*'
dataframe = spark.read.schema(schema).json(path, multiLine=multiline)
并且它在本地和 s3 中工作。 这里我将文件存储在 job_date_str 目录中。
我被困在这里,发现 spark 无法处理文件名中的 :
,我将 :
更改为 -
,现在它按预期工作了。
我在那里找到了这个:
https://issues.apache.org/jira/browse/HDFS-13
如果有人无法更改文件名中的 :
,这看起来仍然是个问题。
如果有人找到解决方案,请 post 解决。
我正在尝试在本地和 s3 中使用以下代码从文件夹中读取文件。现在我正在本地测试。
#job_date_str = "2021-08-03T05:20:00"
path = f'{config["input"]["logs"][job]}{job_date_str}(.)*'
# also tried path = f'{config["input"]["logs"][job]}{job_date_str}*'
dataframe = spark.read.schema(schema).json(path, multiLine=multiline)
该文件夹在目录 (config["input"]["logs"][job]) 中有文件 2021-08-03T05:20:00.000-31bnrrpUT5qNLtEX8zWt.log.gz。 (YYYY-MM-DDTh:m:s.000-something)
它向我抛出错误
21/08/03 12:12:49 ERROR logger: error: java.net.URISyntaxException: Relative path in absolute URI: 2021-08-03T05:20:00.000-31bnrrpUT5qNLtEX8zWt.log.gz in get_json
不知道这是什么意思。 这里我有以job_date_str
开头的文件名但早些时候我尝试使用读取文件。
#job_date_str = "2021-08-03T05:20:00"
path = f'{config["input"]["logs"][job]}{job_date_str}/*'
dataframe = spark.read.schema(schema).json(path, multiLine=multiline)
并且它在本地和 s3 中工作。 这里我将文件存储在 job_date_str 目录中。
我被困在这里,发现 spark 无法处理文件名中的 :
,我将 :
更改为 -
,现在它按预期工作了。
我在那里找到了这个:
https://issues.apache.org/jira/browse/HDFS-13
如果有人无法更改文件名中的 :
,这看起来仍然是个问题。
如果有人找到解决方案,请 post 解决。