簡體   English   中英

如何執行 SQL 文件中定義的多個 SQL 查詢

[英]How to execute multiple SQL queries defined in a SQL file

我有一個 SQL 文件,其中包含許多 SQL 查詢,如下所示:

CREATE TABLE ..... ;
ALTER TABLE .... ;

我想在單個spark.sql調用中執行這些查詢如何在 JAVA 中實現這一點?

謝謝

Spark 不支持通過一次調用spark.sql來執行多個查詢(參見這個 SO answer )。 如果您不介意多次調用spark.sql ,可以將.sql文件讀入一個字符串,將其拆分為單獨的查詢,然后將其傳遞給spark.sql ,如下所示:

import java.nio.file.*;

public static void main(String[] args) {
    String[] commands;

    try {
        Path sqlPath = FileSystems.getDefault().getPath("query.sql");
        String sql = new String(Files.readAllBytes(sqlPath));
        commands = sql.split(";", 0);
    } catch (Exception e) {
        System.out.println("failed to read SQL file");
        return;
    }

    for (int i = 0; i < commands.length; i++) {
        spark.sql(commands[i]);
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM