我有一個用例來根據條件映射 pyspark 列的元素。通過此檔案pyspark 列,我找不到 pyspark 列執行映射函式的函式。
所以嘗試使用pyspark dataFrame map函式,但是無法將pyspark列轉換為dataframe
注意:我使用 pyspark 列的原因是因為我從我使用的庫(期望很高)中獲得它作為輸入。
@column_condition_partial(engine=SparkDFExecutionEngine)
def _spark(cls, column, ts_formats, **kwargs):
return column.isin([3])
# need to replace the above logic with a map function
# like column.map(lambda x: __valid_date(x))
_spark 函式引數從庫中傳遞
我擁有的,
帶有時間戳字串的 pyspark 列
我需要什么,
基于驗證時間戳格式的每??個元素的帶有布林值(真/假)的 Pyspark 列
資料框的例子,
df.rdd.map(lambda x: __valid_date(x)).toDF()
__valid_date 函式回傳真/假
所以,我要么需要將 pyspark 列轉換為資料框以使用上述 map 函式,或者是否有任何 map 函式可用于 pyspark 列?
uj5u.com熱心網友回復:
看起來您需要回傳框架將用于驗證的列物件。我沒有使用過大期望,但也許您可以定義一個 UDF 來轉換您的列。像這樣的東西:
import pyspark.sql.functions as F
import pyspark.sql.types as T
valid_date_udf = udf(lambda x: __valid_date(x), T.BooleanType())
@column_condition_partial(engine=SparkDFExecutionEngine)
def _spark(cls, column, ts_formats, **kwargs):
return valid_date_udf(column)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/364802.html
