Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 如何在Jupyter的一个单元格中创建多个临时表?_Apache Spark_Apache Spark Sql_Jupyter Notebook_Azure Hdinsight - Fatal编程技术网

Apache spark 如何在Jupyter的一个单元格中创建多个临时表?

Apache spark 如何在Jupyter的一个单元格中创建多个临时表?,apache-spark,apache-spark-sql,jupyter-notebook,azure-hdinsight,Apache Spark,Apache Spark Sql,Jupyter Notebook,Azure Hdinsight,我将Azure上的Spark 2.1(HDInsight)与Jupyter笔记本一起使用 我无法在一个笔记本单元中创建多个表 以下查询工作正常: %%sql create table if not exists temp1(Col varchar(32)) 返回:没有结果 以下查询在单个单元格中不起作用: %%sql create table if not exists temp2(Col varchar(32)) create table if not exists temp3(Col

我将Azure上的Spark 2.1(HDInsight)与Jupyter笔记本一起使用

我无法在一个笔记本单元中创建多个表

以下查询工作正常:

%%sql

create table if not exists temp1(Col varchar(32))
返回:没有结果

以下查询在单个单元格中不起作用:

%%sql

create table if not exists temp2(Col varchar(32))
create table if not exists temp3(Col varchar(32))

遇到错误: org.apache.spark.sql.catalyst.parser.ParseException:输入不匹配 应为“创建”(第3行,位置0)

==SQL==

创建表如果不存在temp2(Col varchar(32))创建表如果不存在 存在temp3(Col varchar(32))^^^

在 org.apache.spark.sql.catalyst.parser.ParseException.withCommand(ParseDriver.scala:197) 在 org.apache.spark.sql.catalyst.parser.AbstractSqlParser.parse(ParseDriver.scala:99) 在 org.apache.spark.sql.execution.SparkSqlParser.parse(SparkSqlParser.scala:45) 在 org.apache.spark.sql.catalyst.parser.AbstractSqlParser.parsePlan(ParseDriver.scala:53) 位于org.apache.spark.sql.SparkSession.sql(SparkSession.scala:592)。。。 47删去

如何在一个单元格中创建多个表?

在Jupyter中,使用
sql
解释器的单个单元格似乎对应于Spark执行的单个sql查询

一种可能的解决方法是使用
spark
解释器(或
scala
)并执行
spark.SQL
中的SQL语句,如下所示:

%%spark

spark.sql("create table if not exists temp2(Col varchar(32))")
spark.sql("create table if not exists temp3(Col varchar(32))")
这应该是可行的。

似乎Jupyter中带有
sql
解释器的单个单元格对应于Spark执行的单个sql查询

一种可能的解决方法是使用
spark
解释器(或
scala
)并执行
spark.SQL
中的SQL语句,如下所示:

%%spark

spark.sql("create table if not exists temp2(Col varchar(32))")
spark.sql("create table if not exists temp3(Col varchar(32))")

这应该是可行的。

如果在
SparkSession.sql
之后执行
AbstractSqlParser
中的堆栈跟踪,则不要这样认为。换句话说,您可以使用
SQL
操作符执行两个完整的SQL语句吗?或者Jupyter解析
特别???不知道,我不这么认为<代码>spark sql
shell不受一行中多个语句的困扰,因此它不应该是一个硬限制。不管怎样,只是在这里钓鱼。我不知道如何实现
%%sql
魔术。对
sparksql
配合使用效果良好即使在一行上。@zero323添加
gives
遇到错误:org.apache.spark.sql.catalyst.parser.ParseException:输入不匹配“;”如果在
SparkSession.sql
之后执行的
AbstractSqlParser
中的堆栈跟踪,则预期
@JacekLaskowski
spark.sql(“创建表如果不存在temp2(Col varchar(32));创建表如果不存在temp3(Col varchar(32))
不起作用。换句话说,您可以使用
SQL
操作符执行两个完整的SQL语句吗?或者Jupyter解析
特别???不知道,我不这么认为<代码>spark sql
shell不受一行中多个语句的困扰,因此它不应该是一个硬限制。不管怎样,只是在这里钓鱼。我不知道如何实现
%%sql
魔术。对
sparksql
配合使用效果良好即使在一行上。@zero323添加
gives
遇到错误:org.apache.spark.sql.catalyst.parser.ParseException:输入不匹配“;”预期
@JacekLaskowski
spark.sql(“如果不存在则创建表temp2(Col varchar(32));如果不存在则创建表temp3(Col varchar(32))”
不起作用