首页
学习
活动
专区
工具
TVP
发布

SmartSi

专栏作者
270
文章
583789
阅读量
53
订阅数
Hive SORT BY vs ORDER BY vs DISTRIBUTE BY vs CLUSTER BY
在这篇文章中,我们主要来了解一下 SORT BY,ORDER BY,DISTRIBUTE BY 和 CLUSTER BY 在 Hive 中的表现。
smartsi
2021-12-16
1.7K0
深入理解 Hive UDAF
用户自定义聚合函数(UDAF)支持用户自行开发聚合函数完成业务逻辑。从实现上来看 Hive 有两种创建 UDAF 的方式,第一种是 Simple 方式,第二种是 Generic 方式。
smartsi
2021-12-14
3.2K1
Hadoop vs MPP
最近我听到了很多关于此话题的讨论。同样,这也是一个大数据领域经验不足的客户非常喜欢提问的问题。实际上,我不喜欢这个含糊不清的词语,但是通常客户会找到我们使用它们,因此我不得不使用。
smartsi
2019-11-27
3.9K0
Hadoop 大量小文件问题的优化
小文件是指文件大小明显小于 HDFS 上块(block)大小(默认64MB,在Hadoop2.x中默认为128MB)的文件。如果存储小文件,必定会有大量这样的小文件,否则你也不会使用 Hadoop,这样的文件给 Hadoop 的扩展性和性能带来严重问题。当一个文件的大小小于 HDFS 的块大小(默认64MB)就认定为小文件,否则就是大文件。为了检测输入文件的大小,可以浏览Hadoop DFS 主页 ,并点击 Browse filesystem(浏览文件系统)。
smartsi
2019-08-08
4.2K0
Spark2.3.0 RDD操作
例如,map 是一个转换操作,传递给每个数据集元素一个函数并返回一个新 RDD 表示返回结果。另一方面,reduce 是一个动作操作,使用一些函数聚合 RDD 的所有元素并将最终结果返回给驱动程序(尽管还有一个并行的 reduceByKey 返回一个分布式数据集)。
smartsi
2019-08-07
2.3K0
Flink1.4 窗口函数
在定义窗口分配器之后,我们需要在每个窗口上指定我们要执行的计算。这是窗口函数的责任,一旦系统确定窗口准备好处理数据,窗口函数就处理每个窗口中的元素。
smartsi
2019-08-07
1.6K0
Flink 内部原理之作业与调度
Flink中的执行资源是通过任务槽定义。每个TaskManager都有一个或多个任务槽,每个任务槽可以运行一个并行任务的流水线(pipeline)。流水线由多个连续的任务组成,例如 MapFunction 的第n个并行实例和 ReduceFunction 的第n个并行实例。请注意,Flink经常同时执行连续的任务:对于流式处理程序时刻发生,但是对于批处理程序来说却是经常发生。
smartsi
2019-08-07
1.8K0
Hadoop中的Secondary Sort
我们首先提出了一个查询问题,为了解决这个问题,需要在数据集的多个字段上进行排序。然后,我们将研究 MapReduce Shuff 阶段的工作原理,然后再实现我们的二次排序以获得我们想要的查询结果。
smartsi
2019-08-07
1.7K0
Hive 启用压缩
对于数据密集型任务,I/O操作和网络数据传输需要花费相当长的时间才能完成。通过在 Hive 中启用压缩功能,我们可以提高 Hive 查询的性能,并节省 HDFS 集群上的存储空间。
smartsi
2019-08-07
1.8K0
Hive Count Distinct优化
目前,Hive底层使用MapReduce作为实际计算框架,SQL的交互方式隐藏了大部分MapReduce的细节。这种细节的隐藏在带来便利性的同时,也对计算作业的调优带来了一定的难度。未经优化的SQL语句转化后的MapReduce作业,它的运行效率可能大大低于用户的预期。本文我们就来分析一个简单语句的优化过程。
smartsi
2019-08-07
3.3K0
Hive 本地执行模式
假设你正在运行一些复杂的 Hive 查询,我们都知道这会在后台触发 MapReduce 作业并为你提供输出。如果 Hive 中的数据比较大,这种方法比较有效,但如果 Hive 表中的数据比较少,这样会有一些问题。出现此问题的主要原因是 MapReduce 作业被触发,它是在服务器/集群上触发,因此每次运行查询时,它都会上传到服务器并在那里启动 MapReduce,然后输出。因此,为查询触发执行任务的时间消耗可能会比实际作业的执行时间要多的多。
smartsi
2019-08-07
2.8K0
Hadoop MapReduce新一代架构MRv2
MapReduce在hadoop-0.23中经历了彻底的改变,现在我们称之为MapReduce 2.0(MRv2)或者YARN。
smartsi
2019-08-07
6100
Hadoop 推测执行
Hadoop不会去诊断或修复执行慢的任务,相反,它试图检测任务的运行速度是否比预期慢,并启动另一个等效任务作为备份(备份任务称为推测任务)。这个过程在Hadoop中被称为推测执行。
smartsi
2019-08-07
1.2K0
Hadoop Block 与 InputSplit 的区别与联系
相信大家都知道,HDFS 将文件按照一定大小的块进行切割,(我们可以通过 dfs.blocksize 参数来设置 HDFS 块的大小,在 Hadoop 2.x 上,默认的块大小为 128MB。)也就是说,如果一个文件大小大于 128MB,那么这个文件会被切割成很多块,这些块分别存储在不同的机器上。当我们启动一个 MapReduce 作业去处理这些数据的时候,程序会计算出文件有多少个 Splits,然后根据 Splits 的个数来启动 Map 任务。那么 HDFS 块和 Splits 到底有什么关系?
smartsi
2019-08-07
1.3K0
Hadoop 利用ToolRunner运行MapReduce
大多数人通常使用通过静态 main 方法执行驱动程序代码创建他们的 MapReduce 作业。这种实现的缺点是大多数特定的配置(如果有的话)通常都是硬编码的(例如:设置Reducer的个数)。如果需要随时修改一些配置属性(例如:修改Reducer数量),就必须修改代码,然后重新构建你的jar文件并重新部署应用程序。这种方式很浪费时间。这可以通过在 MapReduce 驱动程序代码中实现 Tool 接口来避免。
smartsi
2019-08-07
7820
Hadoop 任务运行失败
任务运行失败最常见的情况是 map 任务或 reduce 任务中的用户代码抛出运行异常。如果发生这种情况,任务 JVM 会在退出之前向其父 application master 发送错误报错。错误报告最后被记入用户日志中。application master 会将此次任务尝试标记为 failed (失败),并释放容器以便资源可以为其他任务使用。
smartsi
2019-08-07
2.8K0
Hadoop 数据压缩简介
文件压缩带来两大好处:它减少了存储文件所需的空间,并加速了数据在网络或者磁盘上的传输速度。在处理大量数据时,这两项节省可能非常重要,因此需要仔细考虑如何在 Hadoop 中使用压缩。
smartsi
2019-08-07
1.5K0
Hive Map Join 原理
首先,让我们讨论一下 Join 如何在Hive中运行。Common Join 操作如图1所示被编译为 MapReduce 任务。Common Join 任务涉及 Map 阶段和 Reduce 阶段。Mapper 从连接表中读取数据并将连接的 key 和连接的 value 键值对输出到中间文件中。Hadoop 在所谓的 shuffle 阶段对这些键值对进行排序和合并。Reducer 将排序结果作为输入,并进行实Join。Shuffle 阶段代价非常昂贵,因为它需要排序和合并。减少 Shuffle 和 Reduce 阶段的代价可以提高任务性能。
smartsi
2019-08-07
7.6K0
Hadoop Partitioner使用教程
partitioner在处理输入数据集时就像条件表达式(condition)一样工作。分区阶段发生在Map阶段之后,Reduce阶段之前。partitioner的个数等于reducer的个数(The number of partitioners is equal to the number of reducers)。这就意味着一个partitioner将根据reducer的个数来划分数据(That means a partitioner will divide the data according to the number of reducers)。因此,从一个单独partitioner传递过来的数据将会交由一个单独的reducer处理(the data passed from a single partitioner is processed by a single Reducer)。
smartsi
2019-08-07
6840
Hadoop MapReduce中的InputSplit
对于上面的两个问题,首先要明确两个概念:Block和InputSplit。在Hadoop中,文件由一个一个的记录组成,最终由mapper任务一个一个的处理。 例如,示例数据集包含有关1987至2008年间美国境内已完成航班的信息。如果要下载数据集可以打开如下网址: http://stat-computing.org/dataexpo/2009/the-data.html 。每一年都会生成一个大文件(例如:2008年文件大小为108M),在每个文件中每单独的一行都代表一次航班信息。换句话说,一行代表一个记录。 HDFS以固定大小的Block为基本单位存储数据,而对于MapReduce而言,其处理单位是InputSplit。
smartsi
2019-08-07
1.7K0
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档