Apache spark “为什么?”;“创建表格”;产生一个空的数据帧? hc.sql(“创建表emp12(名称字符串)”; res13:org.apache.spark.sql.DataFrame=[] scala>res13.printSchema 根
为什么当我签入配置单元数据仓库时,数据框是空的,而表是在配置单元中创建的Apache spark “为什么?”;“创建表格”;产生一个空的数据帧? hc.sql(“创建表emp12(名称字符串)”; res13:org.apache.spark.sql.DataFrame=[] scala>res13.printSchema 根,apache-spark,apache-spark-sql,Apache Spark,Apache Spark Sql,为什么当我签入配置单元数据仓库时,数据框是空的,而表是在配置单元中创建的 hive> describe emp12; OK name string 即使从Spark加载数据,数据也不会进入配置单元表。sql方法将查询结果作为DataFrame返回,因此它仅适用于实际返回任何数据的sql语句CREATE TABLE并不是其中之一,它是一个SQL(逻辑)命令,仅针对其副作用执行,即在目录中注册一个表 如果要获取已发布的表,请发出单独的查询: hc.sql
hive> describe emp12;
OK
name string
即使从Spark加载数据,数据也不会进入配置单元表。
sql
方法将查询结果作为DataFrame
返回,因此它仅适用于实际返回任何数据的sql语句CREATE TABLE
并不是其中之一,它是一个SQL(逻辑)命令,仅针对其副作用执行,即在目录中注册一个表
如果要获取已发布的表,请发出单独的查询:
hc.sql(“从emp12中选择*)
或者只是
hc.表格(“emp12”)
即使我从Spark加载数据,数据也不会进入配置单元表
这可能是另一个问题的症状,但您必须记住Spark与Hive不完全兼容,特别是在使用分区或bucketing等功能时。
sql
方法将查询结果作为数据帧返回,因此它仅对sql语句有意义,它实际上返回任何数据CREATE TABLE
并不是其中之一,它是一个SQL(逻辑)命令,仅针对其副作用执行,即在目录中注册一个表
如果要获取已发布的表,请发出单独的查询:
hc.sql(“从emp12中选择*)
或者只是
hc.表格(“emp12”)
即使我从Spark加载数据,数据也不会进入配置单元表
这可能是另一个问题的症状,但您必须记住Spark与Hive不完全兼容,特别是在使用分区或bucketing等功能时。您并没有在表中放入任何内容,所以它将是空的,对吗?你的确切问题是什么。请解释得更清楚些。@shivanshrivastava我相信用户会问为什么创建表
不返回表本身。若表不是空的,它不会改变(比如说,createtable作为SELECT…
)。您并没有在表中放入任何内容,所以它将是空的,对吗?你的确切问题是什么。请解释得更清楚些。@shivanshrivastava我相信用户会问为什么创建表
不返回表本身。若表不是空的,它就不会改变(比如说,createtable为SELECT…
)。