我正在尝试在配置单元中创建一个表。但它正在spark warehouse文件夹中创建一个类似testdb.db的文件夹。当我们存储到mysql/mongodb数据库时,如何直接存储在hive中。
conf = SparkConf().setAppName("data_import")
sc = SparkContext(conf = conf)
sqlContext = HiveContext(sc)
sqlContext.setConf("spark.sql.shuffle.partitions", "2")
sqlContext.sql("CREATE DATABASE testdb")
sqlContext.sql("use testdb")
sqlContext.sql("create table daily_revenue(order_date string, daily_revenue float)")
2条答案
按热度按时间5hcedyr01#
ttvkxqim2#
当您在配置单元中创建一个表时,场景后面发生的事情是,它将元数据存储在某个关系数据库中,具体取决于为您的环境配置的关系数据库,并且实际数据将存储在hdfs仓库目录中(如果该目录是托管表)。
类似地,当您尝试从配置单元中的spark创建表时,它将首先创建folder.db,然后在此文件夹中创建另一个具有表名的文件夹,该文件夹将数据存储在hdfs上。
所以在你的情况下,你应该
<warehouse_dir>/testdb.db/table
文件夹。如果您将任何数据加载到此表中,这些数据将出现在表文件夹中。希望有帮助。
当做,
尼拉吉