![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
大数据
文章平均质量分 51
大数据学习笔记
airyv
一名兴趣使然学习编程的学生。
展开
-
【DataX】windows下本地DataX同步hive到mysql,hive带Kerberos认证
修改job文件中keytab与conf文件的路径为本地路径,这两个文件中有hosts修改过的地址,所以需要将linux下的hosts复制到win下的hosts。windows下本地debug运行同步,hive到mysql,其中hive带Kerveros认证的方法如下。下载https://github.com/steveloughran/winutils。解决方法:拷贝hive.keytab和krb5.conf文件到win系统。下载对应版本到本地,设置环境变量。修改datax.py路径。原创 2023-05-01 17:09:43 · 612 阅读 · 1 评论 -
总结YARN中的三种资源调度器(Resource manager中)
YARN是对应用进行资源分配,应用是指applicatoin master,用来处理job的YARN的应用进程。(1)MapReduce采用的模型是一个用户作业对应一个应用。(2)Spark采用的是作业的每个工作流或每个用户的对话对应一个应用。效率比第一种高。(3)多个用户共享一个长期运行的应用。FIFO调度器(FIFO Scheduler)Hadoop最初设计时的调度器,为单队列调度器,无法充分利用硬件资源。先进先出队列,先为第一个应用请求资源,第一个满足后再依次为队列下一个提供服务,不适合共.原创 2021-07-20 20:46:32 · 3681 阅读 · 2 评论 -
MapReduce实现TopK算法 原理及代码
1、map阶段通过map方法将数据构造成数据小于K的TreeMap,在每次map后判断TreeMap的大小和K的大小,当TreeMap的数据量大于K时,取出最小的数。在map结束后会执行cleanup方法,该方法将map中的前K个数据传入reduce任务中。2、reduce阶段在 reduce方法中,依次将map方法中传入K个数据放入 TreeMap中,从而将K个数据利用红黑树的 firstKey方法按从大到小者利用红黑树的 lastKey方法按从小到大的顺序排列。从而求出前K个数。3、代码部分原创 2021-07-18 16:26:05 · 771 阅读 · 0 评论 -
理解Hive Map join
在Map阶段进行表之间的连接。而不需要进入 Reduce 阶段才进行连接。这样就节省了在Shuffle阶段时要进行的大量数据传输。从而起到了优化作业的作用。即在map端进行join,其原理是 broadcast join,即把小表作为一个完整的驱动表来进行join操作。除了一份表的数据分布在不同的Map中外,其他连接的表的数据(小表)必须在每个Map中有完整的拷贝。 Map Join会把小表全部读入内存中,在map阶段直接拿另外一个表的数据和内存中表数据做匹配,由于在map是进行了join操作,省去了 r原创 2021-07-17 10:00:02 · 167 阅读 · 0 评论 -
Hive中数据倾斜原因及处理
1数据倾斜的表现(数据分配不均匀)任务进度长时间维持在99%(或100%),看任务监控页面,发现只有少量(1个或几个) reduce子任务未完成。因为其处的数据量和其他 reduce差异过大。单一 reduce的记录数与平均记录数差过大,通常可能达到3倍甚至更多。最长时长远大于平均时长。2数据倾斜产生的原因key分布不均匀、业务数据特性、建表问题、某SQL语句本身就有数据倾斜(join连接、group by分组和 Count Distinct计算去重后的数量)。关键词情形后果转载 2021-07-16 09:45:41 · 1023 阅读 · 0 评论 -
Hive内部表和外部表的区别
主要体现在load与drop(是否同时删除元数据与数据)的操作上:创建表:Hive创建内部表时,会将数据移动到数据仓库指向的路径,hive管理数据的生命周期;Hive创建外部表时,仅记录数据所在的路径,不对数据的位置做任何改变。删除表:Hive删除内部表时,内部表的元数据和数据会一起被删除,同时对于一些hive操作不适应于外部表,比如单个查询语句创建表并向表中插入数据。Hive删除外部表时,不删除数据。这样外部表相对来说更加安全些,数据组织也更加灵活,方便共享源数据。创建外部表时,甚至不原创 2021-07-15 10:00:45 · 12131 阅读 · 0 评论