Apache spark 在Spark shell中使用配置单元上下文时无法注册临时表

Apache spark 在Spark shell中使用配置单元上下文时无法注册临时表,apache-spark,apache-spark-sql,spark-dataframe,Apache Spark,Apache Spark Sql,Spark Dataframe,我在下面的代码中运行,但是在配置单元上下文中注册临时表时返回了一个无效的数据帧 你能试试这个吗 val df3 = hctx.read.json("/development/sr3/data/test/testweet.json") df3.registerTempTable("tweet") sqlContext.sql("SELECT count(*) FROM tweet") 您自己对代码的解释有问题 注册 但是在注册临时文件时,将返回一个无效的数据帧 配置单元上下文中的表 您的代码首先

我在下面的代码中运行,但是在配置单元上下文中注册临时表时返回了一个无效的数据帧

你能试试这个吗

val df3 = hctx.read.json("/development/sr3/data/test/testweet.json")
df3.registerTempTable("tweet")
sqlContext.sql("SELECT count(*) FROM tweet")

您自己对代码的解释有问题

注册

但是在注册临时文件时,将返回一个无效的数据帧 配置单元上下文中的表

您的代码首先创建dataframe并使用临时表注册它,然后返回RegisterEmptable的结果并将其分配给df3您没有将read.json()的结果分配给df3。

如果同时需要Datafrme和Temp表, 那你应该跟着维杰说

代码的含义: (创建一个dataframe并将其注册为临时表tweet,并将RegisterEmptable的返回值分配给df3) 因此,df3将返回RegisterEmptable的值,而不是read.json

维杰代码的含义: //创建一个数据帧并将其分配给df3 val df3=hctx.read.json(“/development/sr3/data/test/testweet.json”)

//将df3注册到临时表 df3.寄存器可清空(“tweet”)

执行以下任一操作:

val df3 = hctx.read.json("/development/sr3/data/test/testweet.json"); df3.registerTempTable("tweet")

val df3=hctx.read.json(“/development/sr3/data/test/testweet.json”).registerTempTable(“tweet”).show()
,返回最终的DF。再说一次,但没有意义

总的来说,我希望你明白了。你需要确保你最终得到的回报是重要的