我在Kafka有1GB的数据,我正在运行spark-streaming工作,它从kafka获取数据,然后我放了一些Java清理代码然后我放入hadoop,但是在解析或清理它时#39 ; s花了太多时间。 我的Spark独立集群配置是: - 两个节点16 GB Ram和4核。
示例代码如下:
private void processRDD(JavaPairDStream < String, String > messages) throws JSONException {
//messages.print();
JavaDStream < String > fields = messages.map(new Function < Tuple2 < String, String > , String > () {
/**
*
*/
private static final long serialVersionUID = 2179983619724411716 L;
/**
* @throws JSONException
*
*/
public String call(Tuple2 < String, String > message) throws JSONException
{
CustomParser customParser = new CustomParser();
String ParseData = customParser.parse(message._2.getBytes());
//System.out.println("=====>>>>>>1");
return ParseData;
}
});
JavaDStream < String > msgLines = fields.flatMap(new FlatMapFunction < String, String > () {
public Iterable < String > call(String x) {
//return Lists.newArrayList(x.split("\n"));
return Arrays.asList(x.split("\n"));
}
});
msgLines.dstream().saveAsTextFiles("/tmp/", ".csv");
}