С Spark 2.0+ это стало немного проще:
df.write.csv("path", compression="gzip")
Вам больше не нужен внешний CSV-пакет Databricks.
Автор csv()
поддерживает несколько удобных опций. Например:
sep
: для установки символа разделителя. quote
: и как указывать значения. header
: Включить ли строку заголовка. В дополнение к gzip
также можно использовать еще несколько кодеков сжатия:
bzip2
lz4
snappy
deflate
Другим возможным решением может быть использование comb_first ()
df2.set_index(['ID']).combine_first(df1.set_index(['ID', 'something'])).reset_index()
А также с помощью isin ()
df1.loc[df1.ID.isin(df2.ID), ['Price']] = df2[['Price']].values