2
Sparkの使用私はcsvを読み込み、csvの列に関数を適用したいと考えています。私は動作するいくつかのコードがありますが、それは非常にハッキーです。これを行う適切な方法は何ですか?Sparkのcsvの単一の列に関数を適用する
私のコード私はちょうどline
に各行をマッピングして、line[index]
上の関数を呼び出すのではなく、列名の関数を呼び出すことができるようにしたいと思い
SparkContext().addPyFile("myfile.py")
spark = SparkSession\
.builder\
.appName("myApp")\
.getOrCreate()
from myfile import myFunction
df = spark.read.csv(sys.argv[1], header=True,
mode="DROPMALFORMED",)
a = df.rdd.map(lambda line: Row(id=line[0], user_id=line[1], message_id=line[2], message=myFunction(line[3]))).toDF()
。
私はあなたが単にwithColumn
と組み合わせるユーザー定義関数(udf
)を使用することができスパークバージョン2.0.1
素晴らしいです、ありがとう、 'udf'が存在するかどうかはわかりませんでした。スーパーヘルプ。 – Sal