spark链接hive时踩的坑

使用spark操作hive,使用metastore连接hive,获取hive的数据库时,当我们在spark中创建数据库的时候,创建成功。

同时hive中也可以看到这个数据库,建表插入数据也没有问题,但是当我们去查询数据库中的数据时,发现查不到数据,去查hive的元数据,发现,spark在创建数据库的时候将数据库创建在了本地文件系统中

而我们的hive数据是存放在hdfs上的,我们的spark进行查询数据时是使用hive的metastore连接的hive的数据库,也就是spark会从hdfs上读取数据,所以无论怎么查询都是查不出来数据的

当我们按照这个路径去我们本地文件系统中查找这个路径的时候,就可以看到

这个数据库,如果没有,可能是spark创建在了其他的服务器节点上 。

如何解决这个问题呢?

只需要在spark的配置文件中指定spark的数据存储位置为hdfs上即可

在spark的conf目录下找到spark-defaults.conf文件,在文件中添加

复制代码
        spark.sql.warehouse.dir hdfs的路径(hive的路径)

还有另一种方法(慎用)

在创建数据库的时候,在后面加上:localtion hdfs路径/数据库名.db

该方法虽然也可以将spark创建的数据库放入到hdfs上,但是在创建的时候,它会清空该文件夹下的所有数据,所以若使用此方法创建,需要设置为一个空文件夹

相关推荐
Elastic 中国社区官方博客3 小时前
Elasticsearch 混合搜索 - Hybrid Search
大数据·人工智能·elasticsearch·搜索引擎·ai·语言模型·全文检索
{⌐■_■}3 小时前
【git】工作场景下的 工作区 <-> 暂存区<-> 本地仓库 命令实战 具体案例
大数据·git·elasticsearch·golang·iphone·ip·etcd
码界筑梦坊4 小时前
基于Flask的京东商品信息可视化分析系统的设计与实现
大数据·python·信息可视化·flask·毕业设计
专注API从业者7 小时前
分布式电商系统中的API网关架构设计
大数据·数据仓库·分布式·架构
viperrrrrrrrrr78 小时前
大数据学习(49) - Flink按键分区状态(Keyed State)
大数据·学习·flink
狮歌~资深攻城狮9 小时前
未来已来:HBase的新功能与发展趋势展望
大数据·wpf·hbase
我要用代码向我喜欢的女孩表白9 小时前
hive迁移补数脚本细粒度 表名-分区唯一键
数据仓库·hive·hadoop
weixin_307779139 小时前
PySpark实现MERGE INTO的数据合并功能
大数据·python·spark
隔壁老登9 小时前
查询hive指定数据库下所有表的建表语句并生成数据字典
数据库·hive·hadoop
vx1530278236214 小时前
CDGA|企业数据治理实战:从疏通“信息河”到打造优质“数据湖”
java·大数据·人工智能·cdga·数据治理