如何在Apache Spark中按Group By Operation形成的每个子集上应用用户定义函数?

时间:2016-06-19 18:10:34

标签: scala apache-spark apache-spark-mllib spark-dataframe

我有一个如下所示的数据框:

--procelain

现在我想编写一个按 ID_number 分组的查询,并在子集上应用用户自定义函数

    [ID_number,cust_number,feature1,feature2,feature3,....]

按每个 ID_number 分组 我需要在功能上应用机器学习算法并以某种方式存储权重。

如何使用Apache Spark DataFrames(使用Scala)执行此操作?

1 个答案:

答案 0 :(得分:0)

你可以这样做(pyspark)。

schema_string =" cust_number,feature1,feature2,feature3"

fields = [schemaField(field_name,StringType(),True),用于schema_string.split中的field_name(",")]

schema = StructType(fields) df = sql_context.createDataFrame(group_by_result_rdd,schema);

注意:这里我假设您的所有功能都是String类型。 查看其他数据类型的API文档