我试图从一个在Hive中创建的数据库中检索数据到我的Spark中,即使DB中有数据(我用Hive检查了它),用Spark进行查询也不会返回任何行(尽管它返回了列信息)。
我已经将hive-site.xml文件复制到Spark配置文件夹中(被要求)。
导入
import org.apache.spark.SparkConf
import org.apache.spark.SparkContext
import org.apache.spark.rdd.RDD
import org.apache.spark.sql
import org.apache.spark.storage.StorageLevel
import org.apache.spark.sql.SparkSession
import org.apache.spark.sql.hive.HiveContext
创建Spark会话:
val spark = SparkSession.builder().appName("Reto").config("spark.sql.warehouse.dir", "hive_warehouse_hdfs_path").enableHiveSupport().getOrCreate()
spark.sql("show databases").show()
正在获取数据:
spark.sql("USE retoiabd")
val churn = spark.sql("SELECT count(*) FROM churn").show()
输出量:
count(1) = 0
1条答案
按热度按时间dhxwm5r41#
在与我们的老师检查后,在Hive中创建表本身出现了一个问题。
我们创建的表如下所示:
CREATE TABLE名称(数据行)
而不是像这样:
创建外部表名(列)