在 Java 数组中检索 DataFrame 值

Retrieve DataFrame Values in a Java Array

我正在使用 Apache Spark。我想在 String 类型数组中检索 pf DataFrame 的值。我使用 DataFrame 创建了一个 table。

dataframe.registerTempTable("table_name");
DataFrame d2=sqlContext.sql("Select * from table_name");

现在我希望在 java 数组中检索此数据(字符串类型可以)。我该怎么做。

您可以使用collect() 方法获取Row[]。每行包含您的 Dataframe.If 的列值,每行中只有一个值,然后您可以将它们添加到字符串的 ArrayList 中。如果每一行中有多于一列,则使用自定义对象类型的 ArrayList 并设置属性。在下面的代码中,您可以将它们添加到 ArrayList 中,而不是打印 "Row Data"。

    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));
         }
    }