Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JavaRdd映射Spark数据帧Colunm值<;世界其他地区>;_Java_Apache Spark_Spark Dataframe - Fatal编程技术网

使用JavaRdd映射Spark数据帧Colunm值<;世界其他地区>;

使用JavaRdd映射Spark数据帧Colunm值<;世界其他地区>;,java,apache-spark,spark-dataframe,Java,Apache Spark,Spark Dataframe,我从Sqlcontext创建了两个数据帧 DataFrame edge_dataframe = SharedSC.getEdgeDataFrame("EDGE_RDD", -1234, sc.getSparkContext()); DataFrame vertex_dataframe = SharedSC.getVertexDataFrame("VERTEX_RDD", -1234, sc.getSparkContext()); 顶点数据帧

我从Sqlcontext创建了两个数据帧

            DataFrame edge_dataframe = SharedSC.getEdgeDataFrame("EDGE_RDD", -1234, sc.getSparkContext());
            DataFrame vertex_dataframe = SharedSC.getVertexDataFrame("VERTEX_RDD", -1234, sc.getSparkContext());
  • 顶点数据帧
垂直柱 萨曼

库马拉

恶意

  • 边架
|src | dest 斯曼·马利斯

库马拉·马利斯

像那样。 但是,为了从这些数据构造一个图,我想将长的唯一id字段添加到verted表中,并使用该id更改edge表

首先,我将唯一的长id添加到顶点表中

            JavaRDD<Row> ff = vertex_dataframe.javaRDD().zipWithIndex().map(new SerialiFunJRdd<Tuple2<Row, Long>, Row>() {
            public Row call(Tuple2<Row, Long> rowLongTuple2) throws Exception {
                return RowFactory.create(rowLongTuple2._1().getString(0), rowLongTuple2._2());
            }
        });
JavaRDD ff=vertex_dataframe.JavaRDD().zipWithIndex().map(新的SerialiFunJRdd(){
公共行调用(Tuple2 rowLongTuple2)引发异常{
返回RowFactory.create(rowLongTuple2._1().getString(0),rowLongTuple2._2());
}
});

现在,我想将edge DataFrame src和dest列更改为长ID。我该如何做。请提前提供帮助。

我使用List进行了更改。这可能不是最好的方法。但它解决了我的问题

首先,我将“JavaRdd行”映射到JavaRdd Tuple2

JavaRDD<Tuple2<java.lang.Long,String>> vertex_javardd = ff.map(new SerializableFunction<Row, Tuple2<java.lang.Long, String>>() {
public Tuple2<java.lang.Long, String> call(Row row) throws Exception {return new Tuple2<java.lang.Long,String(row.getLong(1),row.getString(0));}});
JavaRDD vertex\u JavaRDD=ff.map(新的SerializableFunction(){

public Tuple2调用(Row-Row)抛出异常{return new Tuple2我是用List做的。这可能不是最好的方法。但它解决了我的问题

首先,我将“JavaRdd行”映射到JavaRdd Tuple2

JavaRDD<Tuple2<java.lang.Long,String>> vertex_javardd = ff.map(new SerializableFunction<Row, Tuple2<java.lang.Long, String>>() {
public Tuple2<java.lang.Long, String> call(Row row) throws Exception {return new Tuple2<java.lang.Long,String(row.getLong(1),row.getString(0));}});
JavaRDD vertex\u JavaRDD=ff.map(新的SerializableFunction(){
公共Tuple2调用(行)引发异常{返回新的Tuple2