与使用jdbc从sqlserver读取表相比,使用sparksql访问配置单元表有什么特别的好处?

ghhaqwfi  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(278)

我在为基于hadoop的平台设计存储部分时遇到了这个问题。如果我们想让数据科学家访问已经存储在关系数据库中的表(例如azure虚拟机的sql-server),那么如果我们将表从sql server导入hdfs(例如wasb)并在其上创建配置单元表,会有什么特别的好处吗?
换句话说,既然spark允许用户使用jdbc从其他数据库读取数据,那么如果我们将数据库中的表以适当的格式(avro、parquet等)持久化到hdfs中,并使用sparksql使用hql访问它们,性能会有什么提高吗?
如果有人问我这个问题,我很抱歉,我做了一些研究,但无法比较这两种方法。

ryevplcw

ryevplcw1#

我认为由于数据是本地的(假设spark运行在相同的hadoop集群上,数据存储在hdfs上),性能会有很大的提高。使用jdbc如果执行的操作/处理是交互式的,那么用户必须等待数据通过jdbc从另一台机器加载(n/w延迟和io吞吐量),而如果是预先完成的,那么用户(数据科学家)可以集中精力直接执行操作。

相关问题