apache-spark - 将关系数据存储在 hadoop 中以进行分析
问题描述
我已经阅读了很多关于 hadoop 集群以及将我们的关系数据存储到 hadoop 中的不同选项,因此我们可以为我们的关系和非关系数据建立一个集中的数据集群以进行分析。但随着我阅读的更多,它变得更加复杂。我不知道将我的关系数据转换为 hadoop 的最佳方法是什么。
- 将它们存储在 HBase 的一个大表中(我认为加入所有表会非常难看)
- 将它们存储在 Hive 的不同表中?
- 还有其他选择吗?
我在想我可以将每个表存储在 Hive 中,然后使用 SPARK SQL 执行查询。不知道是不是最好的选择?任何人都可以帮我一点吗?
解决方案
如果您打算将 hadoop 用于 OLAP 目的,那么您遇到了正确的选择。现在,数据湖比数据仓库在企业中更受欢迎,可以将数据集中在数据分析的地方。
要更具体地回答有关转换关系数据的问题,您可以使用以下工具,
- Hive:最流行的 Hadoop 数据仓库工具,它类似于 SQL 类型的分析语言。尽管查询在分析数据时有一些延迟,但这是因为数据处理在磁盘上。
HBase:它是对Hadoop中数据的随机实时访问,其工作原理是键值对数据。这样做是不可能的。
- SparkSQL:如今,SparkSQL 在数据处理方面更受欢迎,因为所有数据都在 hadoop 集群的内存中处理,这就是为什么它比 hive 和几秒钟内的查询延迟更快。
还有其他工具可以分析半结构化、非结构化和流数据 Hadoop。这个用例在未来很快就会出现。因此,从更可持续的解决方案的角度来看,Hadoop 是更好的解决方案。
推荐阅读
- java - Jersey REST-Client WebTarget - 找不到内容类型的 MessageBodyReader
- reactjs - 嵌套对象的状态更新方法问题
- soap - 使用 PHP 连接到受 WS-Security 保护的 Soap Web 服务
- r - 数字预测器的逻辑回归?
- c# - C# SerialPort.Write 偶尔会因“请求的资源正在使用中”而失败
- php - 带有语言环境的 laravel 功能测试
- c - 使用 Visual Studio 2019 中的 microsoft cl.exe 具有 64 位目标的 sigset_t
- javascript - 函数声明参数Javascript中的方括号和空格
- jquery - 如何在 Razor 页面中获取 jquery 返回值到模型对象的属性
- html - 如何根据浏览器仅预加载所需的类型(woff vs woff2)?