[英]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.