大数据开发-系列
文章平均质量分 65
大数据开发系列,包括搭建,开发,面试等,其中搭建的环境都是以Docker为容器的,可以访问https://github.com/hulichao/docker-bigdata 和 对应hub.docker hoult用户下来找到对应镜像。
Hoult-吴邪
A lot can happen between now and never.
展开
-
大数据开发-解决Windows下,开发环境常遇的几个问题
1.背景大数据开发的测试环境,很多人不以为然,其实重复的打包,上传,测试虽然每次时间大概也就几分钟,但是积累起了往往会花费很多的时间,但是一个完整的测试环境在生产环境下往往难形成闭环,抛开堡垒机权限不说,hadoop,hive,spark等服务端的权限也会难倒一群英雄好汉,主要是太繁琐了,测试环境的搭建,我这里采用Docker容器,适合多端迁移,而且容器的镜像大小也比虚拟机小很多,难度上说,也只需要掌握几个基础的命令即可,除非想引入K8s等技术,但测试环境完全没必要,Docker环境搭建大数据平台的系列从原创 2021-01-02 23:06:01 · 257 阅读 · 0 评论 -
大数据开发-Docker-使用Docker10分钟快速搭建大数据环境,Hadoop、Hive、Spark、Hue、Kafka、ElasticSearch.....
立个坑,教程后续补上,当然这不是最重要的,如果你仅仅想有个环境可以测试,只需要下面 三步1.git clone https://github.com/hulichao/docker-bigdata`2.安装docker和docker-compose, 然后cd docker-bigdata && docker-compose -f docker-compose-dev up -d``3.启动集群 登入docker环境,然后sh scripts/start-cluster.sh,p原创 2021-01-02 22:26:13 · 846 阅读 · 3 评论 -
Hadoop启动常见问题-name is in an inconsistent state: storage directory does not exist or is
Error message:Directory /tmp/hadoop-root/dfs/name is in an inconsistent state: storage directory does not exist or is not accessible.问题:Linux系统每次重新启动后,hadoop不能正常启动namenode,需要重新格式化namenode才可启动原因:hadoop默认将namenode格式化在/tmp下,而这个目录当在重启时会被清空,所以报错。解决方案:.原创 2020-11-06 21:06:52 · 3876 阅读 · 0 评论 -
Hadoop和Spark为什么要对key进行排序
1.思考只要对hadoop中mapreduce的原理清楚的都熟知下面的整个流程运行原理,其中涉及到至少三次排序,分别是溢写快速排序,溢写归并排序,reduce拉取归并排序,而且排序是默认的,即天然排序的,那么为什么要这么做的,设计原因是什么。先给个结论,为了整体更稳定,输出满足多数需求,前者体现在不是采用hashShuffle而是sortShuffle ,后者体现在预计算,要知道排序后的数据,在后续数据使用时的会方便很多,比如体现索引的地方,如reduce拉取数据时候。2.MapReduce原理分析原创 2020-11-22 22:25:05 · 465 阅读 · 0 评论 -
大数据开发-Nginx&Kafka-Nginx做页面采集, Kafka收集到对应Topic
0.架构简介模拟线上的实时流,比如用户的操作日志,采集到数据后,进行处理,暂时只考虑数据的采集,使用Html+Jquery+Nginx+Ngx_kafka_module+Kafka来实现,其中Ngx_kafka_module 是开源的专门用来对接Nginx和Kafka的一个组件。1.需求描述1.1 用html和jquery 模拟用户请求日志其中包括下面下面几项:用户id:user_id, 访问时间:act_time, 操作: (action,包括click,job_collect,cv_send,原创 2020-11-22 23:50:28 · 363 阅读 · 1 评论 -
大数据开发-Flume-接入Hive数仓搭建流程
实时流接入数仓,基本在大公司都会有,在Flume1.8以后支持taildir source, 其有以下几个特点,而被广泛使用:1.使用正则表达式匹配目录中的文件名2.监控的文件中,一旦有数据写入,Flume就会将信息写入到指定的Sink3.高可靠,不会丢失数据4.不会对跟踪文件有任何处理,不会重命名也不会删除5.不支持Windows,不能读二进制文件。支持按行读取文本文件本文以开源Flume流为例,介绍流接入HDFS ,后面在其上面建立ods层外表。1.1 taildir source配置原创 2020-11-30 00:12:55 · 437 阅读 · 0 评论 -
大数据开发-Hive-常用日期函数&&日期连续题sql套路
前面是常用日期函数总结,后面是一道连续日期的sql题目及其解法套路。1.当前日期和时间2020-12-05 19:16:29.2842.获取当前日期,当前是 2020-12-05SELECT current_date;OR SELECT current_date(); -- 2020-12-05 3.获取unix系统下的时间戳SELECT UNIX_TIMESTAMP();-- 1524884881 4.当前是 2020-12-05select substr(current_time原创 2020-12-06 03:46:07 · 565 阅读 · 0 评论 -
大数据开发-Flume-频繁产生小文件原因和处理
1.问题背景通过flume直接上传实时数据到hdfs,会常遇到的一个问题就是小文件,需要调参数来设置,往往在生产环境参数大小也不同1.flume滚动配置为何不起作用?2.通过源码分析得出什么原因?3.该如何解决flume小文件?2. 过程分析接着上一篇,https://blog.csdn.net/hu_lichao/article/details/110358689本人在测试hdfs的sink,发现sink端的文件滚动配置项起不到任何作用,配置如下:a1.sinks.k1.type=hdfs原创 2020-12-06 03:47:31 · 1095 阅读 · 0 评论