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上,但是在创建的时候,它会清空该文件夹下的所有数据,所以若使用此方法创建,需要设置为一个空文件夹

相关推荐
CeshirenTester1 小时前
计算机专业找工作别再乱投:100家常见目标公司,先按赛道分清楚,然后闭眼冲!
大数据·人工智能
Rubin智造社1 小时前
OpenClaw实操指南20|记忆系统实战:别让你的AI用完就忘,短期+长期记忆配置指南
大数据·人工智能·用户画像·长期记忆·记忆系统·memory.md·openclaw实操
李兆龙的博客1 小时前
从一到无穷大 #68 Agent Memory 全景:大模型智能体记忆机制的形态、动态与前沿
大数据·人工智能·算法
xcbrand2 小时前
地产建筑品牌策划公司哪家强
大数据·人工智能·python
biaotan10282 小时前
销售实用工具合集:全流程提效,轻松做好客户与业绩
大数据
武子康2 小时前
大数据-271 Spark MLib-基础线性回归详解:从原理到损失优化实战
大数据·后端·spark
隐于花海,等待花开2 小时前
Hive 常用函数详细总结
数据仓库·hive·hadoop
切糕师学AI2 小时前
深入理解 Flink:现代实时数据处理引擎详解
大数据·flink
lifallen2 小时前
Flink Source / Sink Exactly-Once 边界分析
java·大数据·flink
AC赳赳老秦3 小时前
测试工程师:OpenClaw自动化测试脚本生成,批量执行测试用例
大数据·linux·人工智能·python·django·测试用例·openclaw