我有一個我想在PySpark 2.0中執行的操作,它很容易作爲df.rdd.map
執行,但是由於我寧願留在Dataframe執行中引擎出於性能原因,我想找到一種只使用Dataframe操作的方法。在Spark Dataframe列中使用數據作爲條件或在另一個列表達式中輸入
操作,在RDD式的,是這樣的:
def precision_formatter(row):
formatter = "%.{}f".format(row.precision)
return row + [formatter % row.amount_raw/10 ** row.precision]
df = df.rdd.map(precision_formatter)
基本上,我有一列,告訴我,對於每一行,對我的字符串的精度格式化操作應該是什麼,我想根據精度選擇性地將'amount_raw'列格式化爲字符串。