【发布时间】:2021-08-16 01:33:00
【问题描述】:
我正在使用 Azure Synapse Notebook 将 spark 数据帧作为 csv 文件存储在 blob 存储中,代码如下:
def pandas_to_spark(pandas_df):
columns = list(pandas_df.columns)
types = list(pandas_df.dtypes)
struct_list = []
for column, typo in zip(columns, types):
struct_list.append(define_structure(column, typo))
p_schema = StructType(struct_list)
return sqlContext.createDataFrame(pandas_df, p_schema)
def define_structure(string, format_type):
try: typo = equivalent_type(format_type)
except: typo = StringType()
return StructField(string, typo)
csvString = str(r_csv.content.decode('latin-1'))
csvString = csvString.replace('Metadata Internal','')
df = pd.read_csv(io.StringIO(csvString), sep= ',')
df_2 = df[['Metadata ID','Metadata Title']]
sparkdf = pandas_to_spark(df_2)
sparkdf.show()
csv_report_path = wasbs_path + 'UUID_List.csv'
sparkdf.write.csv(csv_report_path, mode = 'overwrite', header = 'true')
代码的输出给了我一个 csv 文件夹,文件夹里面是 csv 文件。问题是如果我要下载csv,我只能逐个下载。
如何存储 csv 文件而不使它们分片?
【问题讨论】:
标签: python azure csv azure-synapse