【发布时间】:2017-05-21 20:36:49
【问题描述】:
我想创建一个包含两个 RDD 列的数据框。 第一个是我从 CSV 获得的 RDD,第二个是另一个 RDD,每行都有一个集群预测。
我的架构是:
customSchema = StructType([ \
StructField("Area", FloatType(), True), \
StructField("Perimeter", FloatType(), True), \
StructField("Compactness", FloatType(), True), \
StructField("Lenght", FloatType(), True), \
StructField("Width", FloatType(), True), \
StructField("Asymmetry", FloatType(), True), \
StructField("KernelGroove", FloatType(), True)])
映射我的 rdd 并创建 DataFrame:
FN2 = rdd.map(lambda x: (float(x[0]), float(x[1]),float(x[2]),float(x[3]),float(x[4]),float(x[5]),float(x[6])))
df = sqlContext.createDataFrame(FN2, customSchema)
还有我的集群预测:
result = Kmodel.predict(rdd)
所以,总而言之,我想在我的 DataFrame 中包含我的 CSV 行及其最后的集群预测。
我尝试使用 .WithColumn() 添加一个新列,但我一无所获。
谢谢。
【问题讨论】:
标签: python sql apache-spark dataframe rdd