apache-spark - 如何在 Spark 中引入 Row 中的 schema?

标签 apache-spark

在 Row Java API 中,有 row.schema(),但没有 row.set(StructType schema)。

我也尝试了 RowFactory.create(objects),但我不知道如何继续

更新:

问题是当我修改 worker 中的结构时如何生成新的数据框,我举了例子

DataFrame sentenceData = jsql.createDataFrame(jrdd, schema);
List<Row> resultRows2 = sentenceData.toJavaRDD()
            .map(new MyFunction<Row, Row>(parameters) {
            /** my map function **// 

                public Row call(Row row) {

                 // I want to change Row definition adding new columns
                    Row newRow = functionAddnewNewColumns (row);
                    StructType newSchema = functionGetNewSchema (row.schema);

                    // Here I want to insert the structure 

                    //
                    return newRow
                    }

                }

        }).collect();


JavaRDD<Row> jrdd = jsc.parallelize(resultRows);

// Here is the problema  I don't know how to get the new schema to create the   new modified dataframe

DataFrame newDataframe = jsql.createDataFrame(jrdd, newSchema);

最佳答案

您可以使用架构创建一行:

Row newRow = new GenericRowWithSchema(values, newSchema);

关于apache-spark - 如何在 Spark 中引入 Row 中的 schema?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33934615/

相关文章:

hadoop - 海量数据的内存处理引擎有什么好处?

scala - 在 UDF 中使用时 Spark 累加器为空

scala - 通过spark从kafka到hdfs

hadoop - 在非结构化文件上进行 Spark 提取和转换

apache-spark - 如何修复Windows上的spark-shell(失败并显示 "was unexpected at this time")?

apache-spark - Pyspark:迭代多行嵌套 json 来构建数据帧

apache-spark - 在 toree 中安装 spark 包

scala - 使用数据帧时出现异常 : java. lang.NoSuchMethodError : scala. reflect.api.JavaUniverse.runtimeMirror(Ljava/lang/ClassLoader;)

java - Scala - 如何返回这种 RDD 类型

apache-spark - Spark History Server Spark UI 作业部分中的 'Active Jobs' 是什么