-1
я создал dataframe используя df1 = HiveContext (SC) .sql ("от xxx.table1 выберите *"), преобразованные в РД df1.rddpyspark: Нанести функции на каждом поля РДА
Я должен применить преобразования на уровне поля в строке. Как мне это сделать?
Я попытался следующий код:
df2 = rdd1.map(lambda row:
Row(row.fld1,
row.fld2.replace("'", "''").replace("\\","\\\\").strip(),
row.fld3.toLowerCase
)
)
Я получаю ошибку
AttributeError: 'unicode' object has no attribute toLowerCase/replace
Не могли бы вы помочь?
Привет, я получил эту работу, изменив свой код, как показано ниже: rdd2 = rdd1.map (лямбда-строка: ул (строка) .lower () .replace ("'", "' '") .replace ("\\", "\\\\"). strip() \ if (type (row) == str или type (row) == unicode или \ (не row.apn или not row.fips_code или не row.dupl_apn)) else row) Надеюсь, это будет полезно для других. – Aavik