Java 返回loginName+“,“+countyCode+”,“+passwd” +“,”+areaId+“,“+cityNo+”,“+cardID” +“,”移动+“,”电子邮件+“,”qq+“,” +地址+”,“+生日+”,“+”,“+生日1 +“,”+codeId+“,“+deptNo+”,“+newCode +“,”+旧代码; } }); 数据集peopleDF=spark.createDataFrame(resultRDD,Object.class); 字符串url2=“jdbc:oracle:thin:@192.168.101.207:1521:orcl”; Properties connectionProperties2=新属性(); connectionProperties2.setProperty(“用户”、“斯科特”);//设置用户名 connectionProperties2.setProperty(“密码”、“老虎”);//设置密码 字符串table2=“masked1”; peopleDF.write().mode(SaveMode.Append) .jdbc(url2,表2,连接属性2); } }

Java 返回loginName+“,“+countyCode+”,“+passwd” +“,”+areaId+“,“+cityNo+”,“+cardID” +“,”移动+“,”电子邮件+“,”qq+“,” +地址+”,“+生日+”,“+”,“+生日1 +“,”+codeId+“,“+deptNo+”,“+newCode +“,”+旧代码; } }); 数据集peopleDF=spark.createDataFrame(resultRDD,Object.class); 字符串url2=“jdbc:oracle:thin:@192.168.101.207:1521:orcl”; Properties connectionProperties2=新属性(); connectionProperties2.setProperty(“用户”、“斯科特”);//设置用户名 connectionProperties2.setProperty(“密码”、“老虎”);//设置密码 字符串table2=“masked1”; peopleDF.write().mode(SaveMode.Append) .jdbc(url2,表2,连接属性2); } },java,apache-spark,Java,Apache Spark,使用编码器/模式将输入数据帧转换为数据集后,为了执行映射操作,您无需将数据集转换回RDD,您可以自己在数据集上进行映射,下面的代码可能对您有用 Dataset<InputType> inputDataSet =someDataFrame.as(Encoders.bean(InputType.class)) Dataset<OutputType> outputDataSet=inputDataSet.map(new MapFunction<InputType, Ou

使用编码器/模式将输入数据帧转换为数据集后,为了执行映射操作,您无需将数据集转换回RDD,您可以自己在数据集上进行映射,下面的代码可能对您有用

Dataset<InputType> inputDataSet =someDataFrame.as(Encoders.bean(InputType.class))

Dataset<OutputType> outputDataSet=inputDataSet.map(new MapFunction<InputType, OutputType>() {
            @Override
            public OutputType call(InputType  value) throws Exception {
                // TODO Auto-generated method stub
                val someOutPutVal:OutputType=null;
                return someOutPutVal;
            }
        }, Encoders.bean(OutputType.class));
Dataset inputDataSet=someDataFrame.as(Encoders.bean(InputType.class))
Dataset outputDataSet=inputDataSet.map(新的MapFunction(){
@凌驾
公共输出类型调用(输入类型值)引发异常{
//TODO自动生成的方法存根
val someOutPutVal:OutputType=null;
返回someOutPutVal;
}
},Encoders.bean(OutputType.class));

如果您真的想使用Person.class进行转换,那么您需要定义一个pojo:为要包含在Person对象中的字段创建一个名为Person的新java类,其中包含getter和setter、hashcode和equals、toString()方法。就这么简单,然后您可以应用
spark.createDataFrame(peopleRDD,Person.class)

或者:当您获得所有字段时,将其直接打包到一个人中

公共字符串调用(行){}
。。。在此处直接创建Person对象:

public Person call(Row row) {}  
然后您将有一个
javarddresultrdd
。。直接的

Dataset<InputType> inputDataSet =someDataFrame.as(Encoders.bean(InputType.class))

Dataset<OutputType> outputDataSet=inputDataSet.map(new MapFunction<InputType, OutputType>() {
            @Override
            public OutputType call(InputType  value) throws Exception {
                // TODO Auto-generated method stub
                val someOutPutVal:OutputType=null;
                return someOutPutVal;
            }
        }, Encoders.bean(OutputType.class));
public Person call(Row row) {}