Apache spark 如何在spark sql中设置配置单元参数和多个语句

Apache spark 如何在spark sql中设置配置单元参数和多个语句,apache-spark,apache-spark-sql,Apache Spark,Apache Spark Sql,我有一个拼花地板表,该表包含一列,其中包含新行数据。因此,当对该表启动配置单元查询时,新行数据将被视为新记录,我可以通过设置参数“set-hive.query.result.fileformat=SequenceFile;”在配置单元中完成此操作。现在,我正在迁移这个参数和MR查询,以便在sparksql中运行。此外,我还想在实际查询之前运行一些其他查询,如drop table语句。 我的代码如下 spark.sql(set hive.query.result.fileformat=Sequen

我有一个拼花地板表,该表包含一列,其中包含新行数据。因此,当对该表启动配置单元查询时,新行数据将被视为新记录,我可以通过设置参数“set-hive.query.result.fileformat=SequenceFile;”在配置单元中完成此操作。现在,我正在迁移这个参数和MR查询,以便在sparksql中运行。此外,我还想在实际查询之前运行一些其他查询,如drop table语句。 我的代码如下

spark.sql(set hive.query.result.fileformat=SequenceFile;drop table output_table; create table output_table stored as orc as select * from source_table;)

在这个查询中,分号(;)位置出现了解析器错误。如何在spark sql中正确执行上述代码

代码末尾不应该有分号。删除分号,添加括号,并在spark config命令中包含set参数变量。那么它应该会起作用

例:

spark = (SparkSession
           .builder
           .appName('hive_validation_test')
           .enableHiveSupport()
           .config("hive.query.result.fileformat", "SequenceFile")
spark.sql('drop table output_table').                                              
spark.sql('create table output_table stored as orc as select * from source_table').