У меня проблема с запуском этого - он отлично работает для номера дорожки, но для транзакции / времени есть специальный символ, и он терпит неудачу - как с этим справиться.
То, что я ищу, это либо заменить строку и определить свой собственный заголовок.Или удалить специальные символы из строки заголовка.
Спасибо !!
from pyspark.sql import SparkSession
import traceback
from pyspark.sql.functions import *
import csv
import os
def create_parquet():
try:
spark = SparkSession.builder.appName("prc_conversiontoparquet").getOrCreate()
df = spark.read.option("header", True).option("delimiter", ",").option("multiLine", "true").\
csv("s3://ert-opp-uw2-external-data-dev/sftp_data/merchant_1.csv")
df.createOrReplaceTempView("input")
query = """
SELECT
string(`Transaction/Time`) as Transaction_Time
string('Track Count') as Track_Count
FROM input
"""
print(query)
result = spark.sql(query)
result.repartition(100).write.mode('overwrite').parquet("s3://ert-opp-uw2-external-data-dev/sftp_data/parquet_files/")
except Exception as e:
print(traceback.format_exc())
print("Error Occurred")
print(e)
create_parquet()