The issue you are having is when you try to read the parquet file using the ParquetReader where its failing on the invalid column names containing the illegal character "-" . I dont know of a way you can address this in Nifi. You probably have to fix this before you consume through Nifi. You can use pandas dataframe in python to help you remove any illegal characters from column name as an example :
import pandas as pd
df = pd.read_parquet('source.parquet', engine='fastparquet')
# replace hyphen with underscore in column names
df.columns = df.columns.str.replace("-","_")
df.to_parquet("target.parquet",engine='fastparquet')
Its possible to do this through Nifi as well using ExecuteStreamCommand :
https://community.cloudera.com/t5/Support-Questions/Can-anyone-provide-an-example-of-a-python-script-executed/td-p/192487
The steps will be like this:
1- Fetch Parquet from S3
2- Save to Staging area with certain filename using PutFile
3- Run ExecuteStreamCommand and pass filename and path to the py . The py script will rename columns as shown above and save final copy to target folder
4- Use FetchFile to get the final parquet file from target folder using the same filename
5- Convert Record
....
If that helps please accept solution.
Thanks