检索Java数组中的数据帧值

检索Java数组中的数据帧值,java,apache-spark,apache-spark-sql,spark-dataframe,Java,Apache Spark,Apache Spark Sql,Spark Dataframe,我正在使用apachespark。我想在字符串类型数组中检索DataFrame的值。我已经使用DataFrame创建了一个表 dataframe.registerTempTable("table_name"); DataFrame d2=sqlContext.sql("Select * from table_name"); 现在我希望在java数组中检索这些数据(字符串类型就可以了)。我该怎么做。您可以使用collect()方法获取行[]。每行包含数据帧的列值。如果每行中有单个值,则可以将它们

我正在使用apachespark。我想在字符串类型数组中检索DataFrame的值。我已经使用DataFrame创建了一个表

dataframe.registerTempTable("table_name");
DataFrame d2=sqlContext.sql("Select * from table_name");
现在我希望在java数组中检索这些数据(字符串类型就可以了)。我该怎么做。

您可以使用collect()方法获取行[]。每行包含数据帧的列值。如果每行中有单个值,则可以将它们添加到字符串的ArrayList中。如果每行中有多个列,则使用自定义对象类型的ArrayList并设置属性。在下面的代码中,您可以将它们添加到ArrayList中,而不是打印“行数据”

    Row[] dataRows = d2.collect();
    for (Row row : dataRows) {
        System.out.println("Row : "+row);
         for (int i = 0; i < row.length(); i++) {
                System.out.println("Row Data : "+row.get(i));
         }
    }
Row[]dataRows=d2.collect();
用于(行:数据行){
System.out.println(“行:”+行);
对于(int i=0;i