将Java ResultSet转换为Spark DataFrame

时间:2016-11-11 00:27:54

标签: java sql-server apache-spark resultset spark-dataframe

我使用pandas来操纵Python中的数据。

我浏览了Spark的DataFrame,并希望将这个结构用于我用Java开发的程序。

我在SQL Server中有我的数据,我在ResultSet中有SQL结果。我想将其转换为DataFrame

我该如何进行此转换?有没有更简单的方法将SQL结果直接转换为DataFrame?

编辑:我尝试通过SparkSession连接SQL Server以下详细信息

   public static SparkSession spark = SparkSession
        .builder()
           .master("local[*]")
        .appName("Java Spark SQL basic example")
        .getOrCreate();

    Map<String, String> options = new HashMap<String, String>();
    options.put("url", "jdbc:jtds:sqlserver://<clipped>");
    spark.read().format("jdbc").options(options).load();

    Dataset<Row> sqlDF = spark.sql("SELECT TOP 1 * FROM HEDE);

现在我得到Exception in thread "main" java.lang.RuntimeException: Option 'dbtable' not specified我在哪里/哪里可以指定表?

1 个答案:

答案 0 :(得分:0)

您可以在选项中指定表格:

options.put("dbtable", "some_table");

或使用JDBC方法:

spark.read().jdbc("jdbc:jtds:sqlserver://<clipped>", "some_table", properties)

其中propertiesjava.util.Properties