我从本地文件系统给映射器输入了一个输入.它从eclipse成功运行,但是没有从集群运行,因为它无法找到本地输入路径说:输入路径不存在.请问任何人都可以帮助我如何给映射器提供一个本地文件路径,以便它可以在集群中运行,我可以在hdfs中获得输出
在Hadoop Spark中,reduce和reduceByKey的功能有什么区别.为什么reduceByKey是转换,reduce是一个动作.
如何在 Spark Java 中使用 StructType 为以下数据定义数据类型?
sam|mars|1234567|"report": {"Details": [{"subject": "science","grade": "A","remark": "good"},{"subject": "maths","grade": "E","remark": "excellent"},{"subject": "geography","grade": "E","remark": "excellent"}]}
harry|venus|987654|"report": {"Details": [{"subject": "science","grade": "O","remark": "outstanding"},{"subject": "history","grade": "A","remark": "good"}]}
Run Code Online (Sandbox Code Playgroud)
这些字段是:姓名、地址、ID、REPORTCARD
我有以下代码:
JavaRDD<Row> row = javaRDD.map(new Function<String, Row>(){
@Override
public Row call(String line) throws Exception {
return RowFactory.create((line.split("|")));
}
});
Run Code Online (Sandbox Code Playgroud)
where,
javaRDD is created on top of the above input data.
Run Code Online (Sandbox Code Playgroud)
现在我需要使用以下行将 javaRDD 转换为 Dataframe(Dataset df):
Dataset<Row> df = spark.createDataFrame(row, <STRUCT TYPE SCHEMA>);
Run Code Online (Sandbox Code Playgroud)
我需要为此创建一个 StructType 架构。如何在 Spark Java 中定义它。
我创建了以下 StructType 架构:
List<StructField> …Run Code Online (Sandbox Code Playgroud)