Я пытаюсь записать результаты переменной в CSV-файл, а затем создать из него JSON.Каждая итерация цикла for запишет приведенный ниже результат в переменную res_df.Если можно напрямую создать JSON без создания CSV, то я также был бы счастлив реализовать то же самое.Пожалуйста, помогите.
'var_id', 10000001, 14003088.0, 14228946.912793402, 1874168.857698741, 15017976.0, 18000192, 0
Теперь я хочу добавить этот результат в CSV-файл, а затем создать из него JSON.Я достиг этого в своем коде Python.Теперь нужна ваша помощь, чтобы добиться того же в pyspark
Python Code:
res_df=line,x.min(),np.percentile(x, 25),np.mean(x),np.std(x),np.percentile(x, 75),x.max(),df[line].isnull().mean() * 100
with open(data_output_file, 'a', newline='') as csvfile:
writerows = csv.writer(csvfile, delimiter=',',
quotechar='"', quoting=csv.QUOTE_MINIMAL)
writerows.writerow(map(lambda x: x, res_df))
quality_json_df = pd.read_csv(r'./DQ_RESULT.csv')
# it will dump json to file
quality_json_df.to_json("./Dq_Data.json", orient="records")
My Pyspark Code
for line in tcp.collect():
#print value in MyCol1 for each row
print line
v3=np.array(data.select(line).collect())
x = v3[np.logical_not(np.isnan(v3))]
print(x)
cnt_null=data.filter((data[line] == "") | data[line].isNull() | isnan(data[line])).count()
print(cnt_null)
res_df=line,x.min(),np.percentile(x, 25),np.mean(x),np.std(x),np.percentile(x, 75),x.max(),cnt_null
print(res_df)