我在Hive方面经验不足,目前正在使用Scala学习Spark。我很想知道Tez上的Hive是否真的比SparkSQL快。我在测试结果的许多论坛上进行了搜索,但他们比较了旧版本的Spark,其中大部分是在2015年编写的。下面总结了要点
我觉得Hortonworks支持Hive比Spark和Cloudera更多,反之亦然。
示例链接:
最初我认为Spark会比任何东西都快,因为它们在内存中执行。在阅读了一些文章之后,我得到了一些现有的Hive也可以通过Tez,ORC,LLAP等新概念进行即兴创作。
目前正在使用PL / SQL Oracle并且随着卷的增加而迁移到大数据。我的要求是ETL批处理,包括每周批次运行中涉及的数据详细信息。数据将很快增加。
输入/查找数据是csv / text格式并更新到表格
两个输入表,有500万行和30列
请告知我应该选择以下哪种方法以获得更好的性能和可读性,并且很容易在列上包含次要更新以供将来的生产部署使用。
方法1:
方法2:
答案 0 :(得分:0)
如下所示实施问题解决方案的最佳方式。
要将数据加载到表中,spark对我来说是个不错的选择。您可以从hive Metastore读取表,并使用某种窗口函数执行增量更新,并在hive中注册它们。在从各种查找表中填充数据时进行摄取,您可以在scala中以编程方式编写代码。
但是在一天结束时,需要一个非常容易使用的查询引擎。当您的spark程序使用配置单元注册表时,您可以使用配置单元。
Hive支持三个执行引擎
Tez已经成熟,随着来自Facebook和社区的各种提交,火花正在发展。
业务可以非常轻松地将hive理解为查询引擎,因为它在业界更加成熟。
简而言之,使用spark来处理日常处理的数据并将其注册到配置单元。
在配置单元中创建业务用户。