我是Hadoop的新手,如果我的问题太不成熟,我深表歉意。
我知道Hadoop用于分析大型数据集上的数据。最后,我们如何处理分析的数据,创建报告和演示?
例如,如果是SSRS报告,则报告将基于使用SQL查询从RDBMS中提取的结果数据生成。
但是,在基于Hadoop的数据库中是如何工作的呢?如果客户端请求了一个特定的报告,而该报告需要HadoopDB中的数据点,那么流程会如何?我确信Client不会直接在hadoop中运行Job来提取生成报告所需的数据,因为hadoop作业需要更多的时间来处理。
我的问题是,通过在hadoop数据库上运行MR作业,处理后的数据(结果集)是否存储在任何中间数据库中,如RDBMS?以便客户端可以提取生成报告所需的数据?
请澄清这一点。
- 分布式存储(HDFS)
- 分布式计算(Map Reduce)
Hadoop应该更多地被可视化为分布式操作系统,HDFS作为分布式存储,MapReduce作为内核。有许多工具,如Hive、Pig、Sqoop、Impala、Datameer、Spark等,可以利用这些分布式功能。
一旦运行了ETL等重量级数据处理,就可以将数据加载回轻量级关系数据库,并连接SSRS等企业BI工具进行报告。此外,像Tableau这样的BI工具通过Spark连接Hadoop,我们可以使用Spark直接从Hadoop报告。Datameer是基于Hadoop的可视化工具,可用于报告数据。
简而言之,不应该将SSRS和Hadoop这样的工具进行比较。Hadoop是一种无缝提供分布式功能的技术,它周围的生态系统可以用来解决利用它的业务问题。