Предположим, что у вас есть файл .sql , представленный ниже, который содержит данные, подобные приведенным ниже, и разделен полуколонкой (;
).
create table table1(id int, name string);
create table table2(id int, login_time timestamp, logout_time timestamp)
Используя приведенный ниже код, он прочитает файл и преобразует содержимое в строку. Затем он разделит строку на полуколонны, а затем последовательно выполнит каждый sql.
sc.textFile("/data.sql").collect().mkString.split(";").foreach(qry => spark.sql(qry))
sc
означает sparkContext
. Это создает соединение с кластером. Вам не нужно определять эту переменную, вы можете использовать sc.textFile
напрямую. Точно так же spark
является переменной сеанса искры. Вам не нужно определять это, вы можете напрямую использовать spark.sql
для выполнения sqls.