Hadoop生态圈
辛聪明
你的选择,决定了你的极限和高度。当下不负,未来不迎。
展开
-
Hive教程(三)
一、集合数据类型应用Hive 有三种复杂数据类型 ARRAY、MAP 和 STRUCT案例:1) 假设某表有如下一行,我们用 JSON 格式来表示其数据结构。在 Hive 下访问的格式为:{"name": "songsong","friends": ["bingbing" , "lili"] , //列表 Array,"children": { ...原创 2020-04-06 23:45:54 · 849 阅读 · 0 评论 -
爱奇艺大数据实时项目统计项目
一、Pyhton脚本实现模拟日志生产,定时执行#coding=UTF-8import randomimport timeurl_paths = [ "www/2", "www/1", "www/6", "www/4", "www/3", "pianhua/130", "toukouxu/821"]status_code = [404,3...原创 2020-04-05 18:29:16 · 1827 阅读 · 1 评论 -
大数据电视采集离线项目
1、需求分析点击流日志每天都产生在指定文件夹中,在业务应用服务器上,需要准实时上传至数据仓库(Hadoop HDFS)上。2、实现思路1、shell脚本实现,遍历日志文件夹内文件,如果满足日志文件名称格式,移动到待上传文件夹。2、有一个记录待上传文件路径的文件,遍历文件内路径,上传后删除。3、实现脚本#!/bin/bash#set java envexport JA...原创 2020-03-26 20:50:34 · 335 阅读 · 0 评论 -
Spark面试题(一)
目录一、单项选择题二、不定项选题 三、填空题四、判断题五、简答题六、编程题一、单项选择题1、下面哪个操作是窄依赖?()join filter group sortRDD之间的血缘关系又称依赖,包括两种,一种是窄依赖,RDDs之间分区是一一对应的,另一种是宽依赖,下游RDD的每个分区与上游RDD(也称之为父RDD)的每个分区都有关,是多对多...原创 2020-01-02 14:42:03 · 6145 阅读 · 0 评论 -
Zookeeper入门
目录一、概念二、安装部署三、Zookeeper理论篇之zoo.cfg四、Zookeeper理论篇之数据结构五、Zookeeper实战六、JAVA API七、分布式锁一、概念Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目。 Zookeeper=文件系统+通知机制Zookeeper从设计模式角度来理解:是一个基...原创 2019-12-05 19:00:59 · 393 阅读 · 1 评论 -
Hive教程(二)
目录一、hive文件格式二、数据类型三、修改表定义四、hive查询语法五、hive函数一、hive文件格式 存储文本文件的表:create table t_access_text(ip string,url string,access_time string)row format delimited fields terminated by ','s...原创 2019-10-21 14:45:51 · 1403 阅读 · 0 评论 -
Hive教程(一)
目录安装mysql、hive步骤什么是hive一、启动方式二、操作Hive1、基本建表语句:2、内部表与外部表3、分区表1、创建分区表(动态、静态)4、数据导入与导出安装mysql、hive步骤什么是hiveHive是基于Hadoop的一个数据仓库工具(离线),可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。操...原创 2019-10-17 19:05:21 · 4243 阅读 · 0 评论 -
Kafka API
Kafka API 地址:http://kafka.apache.org/11/javadoc/index.html?index-all.html一、原生代码加入依赖:<dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka-clients&...原创 2019-10-15 09:34:58 · 156 阅读 · 0 评论 -
flume+kafka实现对nginx日志收集并存储到hdfs
1、准备可以运行的web项目jar包,在hdp-3上运行jar包[root@hdp-3 apps]# java -jar springbt-0.0.1-SNAPSHOT.jar2、在hdp-1上配置ngingx代理hdp-3运行的项目,启动nginx服务器修改/usr/local/nginx/conf/nginx.conf,在server上添加这段代码 upstream fra...原创 2019-10-14 18:03:25 · 614 阅读 · 0 评论 -
Flume、Kafka、HDFS整合
1、flume收集数据,下沉到kafka flume下写一个配置文件# 指定各个核心组件ag1.sources = r1ag1.sinks = k1ag1.channels = c1# 准备数据源ag1.sources.r1.type = execag1.sources.r1.command = tail -F /usr/local/nginx/logs/log.fram...原创 2019-10-14 12:15:51 · 487 阅读 · 0 评论 -
Kafka入门教程
目录what is kafka? 一、基本概念二、Kafka架构三、Kafka集群部署四、Kafka命令行操作四、Message理解what is kafka? Kafka是一个分布式消息队列。 在流式(实时数据)计算中,Kafka一般用来缓存数据,Storm通过消费Kafka的数据进行计算。storm:实...原创 2019-10-13 19:17:25 · 1131 阅读 · 0 评论 -
Flume框架学习
Flume框架基础:1、Flume在集群中扮演的角色: Flume、Kafka用来实时进行数据收集,Spark、Storm用来实时处理数据,impala用来实时查询。2、Flume框架简介 Flume提供一个分布式的,可靠的,对大数据量的日志进行高效收集、聚集、移动的服务,Flume只能在Unix环境下运行。 Flume基于流式架构,容错性强...原创 2019-10-09 17:37:52 · 212 阅读 · 0 评论 -
Azkaban教程
目录一、简介二、各种调度工具特性对比三、安装配置四、Azkaban实战一、简介Azkaban是在LinkedIn上创建的用于运行Hadoop作业的批处理工作流作业调度程序。Azkaban通过工作依赖性解决订购问题,并提供易于使用的Web用户界面来维护和跟踪您的工作流程。Azkaban定义了一种KV文件格式来建立任务之间的依赖关系为什么需要工作流调度?一个完整的数...原创 2019-12-05 14:23:50 · 1048 阅读 · 0 评论 -
SparkCore 笔记(二)
目录一、RDD中的函数传递(序列化问题)1、传递一个方法2、传递一个属性二、RDD依赖关系1、Lineage(容错机制)2、窄依赖3、宽依赖4、DAG5、任务划分(面试重点)6、RDD缓存7、RDD CheckPoint三、键值对RDD数据分区器1、获取分区2、Hash分区3、...原创 2019-12-03 22:45:05 · 242 阅读 · 0 评论 -
Flink学习笔记
目录一、初识Flink二、Flink的重要特点:三、安装配置四、API案例一、初识FlinkApache Flink是一个面向分布式数据流处理和批量数据处理的开源计算平台,提供支持流处理和批处理两种类型应用的功能。实时处理:Storm (Storm Trident)、Spark Streaming、FlinkStorm:支持低延迟,但是很难实现高吞吐,并且不能...原创 2019-12-02 17:23:27 · 194 阅读 · 0 评论 -
Sqoop学习笔记
一、概述sqoop 是 apache 旗下一款“Hadoop 和关系数据库服务器之间传送数据”的工具。 核心的功能有两个:1、导入、迁入 2、导出、迁出导入数据:MySQL,Oracle 导入数据到 Hadoop 的 HDFS、HIVE、HBASE 等数据存储系统导出数据:从 Hadoop 的文件系统中导出数据到关系数据库 mysql 等 Sqoop 的本质还是一...原创 2019-12-01 18:43:10 · 478 阅读 · 0 评论 -
Spark Streaming笔记
目录一、概念二、Dstream入门1、Dstream创建2、RDD队列(了解)3、根据端口号采集数据4、自定义数据源5、Kafka数据源(重点)三、DStream转换1、无状态转化操作2、有状态转化操作(重点)四、案例1、WordCount案例实操(单次、累计)2、把sparkstreaming获取到的数据存在redis里一、概念S...原创 2019-11-28 18:12:38 · 657 阅读 · 0 评论 -
SparkSQL
目录一、什么是Spark SQL?二、编程特点三、DataFrame1、创建案例 1)SQL Context2)SparkSession(常用)四、idea中案例五、什么是DataSet一、什么是Spark SQL?Spark SQL是Spark用来处理结构化数据的一个模块,它提供了2个编程抽象:DataFrame和DataSet...原创 2019-11-20 19:38:44 · 311 阅读 · 0 评论 -
SparkCore 笔记(一)
目录一、什么是RDD二、RDD编程模型1、RDD三种创建方式三、RDD的转换(面试开发重点)1、value类型2、双Value类型交互3、Key-Value类型四、Action五、案例应用一、什么是RDDRDD(Resilient Distributed Dataset)叫做弹性分布式数据集(弹性:内存不足,自动写入磁盘),是Spark中最基本...原创 2019-11-17 22:51:17 · 419 阅读 · 0 评论 -
Spark基础篇
目录一、什么是Spark二、主要角色1、Driver(驱动器)2、Executor(执行器)3、Local模式(单个服务器)4、基本操作5、Standalone模式(Master+Slave集群模式)6、Yarn模式(重点)7、Mesos模式三、案例1、wordcount案例一、什么是Sparkspark是一种基于内存的快速、通用、可扩...原创 2019-11-15 10:20:35 · 664 阅读 · 0 评论 -
Hbase进阶
目录一、hbase入门二、Meta表基本介绍三、HBase读写流程四、3个重要机制五、namespace命名空间六、内部存储架构及版本确界七、Hbase API八、HBase的MapReduce的调用九、rowkey设计技巧一、hbase入门二、Meta表基本介绍Meta是一个特殊的目录表,用于保存集群中regions的位置信息(region列...原创 2019-11-03 14:54:24 · 464 阅读 · 0 评论 -
Hbase入门
目录一、概念及架构二、RDBMS与HBase的对比三、HBase特征简要、定位四、HBase的环境角色五、启动Hbase六、配置高可用一、概念及架构1、概念:HBase的原型是Google的BigTable论文,用于支持结构化的数据存储。Hbase是在HDFS上开发的面向列的分布式非关系型数据库,可以实时的随机访问超大规模数据集。Hbase解决了可...原创 2019-11-02 17:20:14 · 630 阅读 · 0 评论 -
MapReduce从入门到精通
目录一、MapReduce概念二、理论篇1、序列化2、FileInputFormat3、CombineTextInputFormat切片机制4、shuffle机制shuffle机制流程图解5、排序6、GroupingComparator分组7、Combiner合并8、数据倾斜9、ReduceTask工作机制10、自定义OutputForma...原创 2019-11-01 21:55:56 · 481 阅读 · 0 评论 -
Kafka过程分析、拦截器
kafka入门教程(一)一、Kafka生产过程分析1、写入方式:producer采用推(push)模式将消息发布到broker,每条消息都被追加(append)到分区(patition)中,属于顺序写磁盘(顺序写磁盘效率比随机写内存要高,保障kafka吞吐率)。2、分区(Partition)同一个topic属于一个目录,目录的下一级是分区其中的每一个消息都是有序的,且被...原创 2019-10-30 21:58:05 · 321 阅读 · 0 评论 -
Flume常用组件配置(二)
Flume框架学习一Flume、Kafka、Hdfs整合一、Flume开发中常用组件source,channel,sink等配置agent 代理1、channel通道file 将事件存储在本地文件系统上的事务日志中,具有持久性:只要事件被写入channel,即使使用了代理,代理重新启动,事件也不会丢失。agent1.channnels.channel1.type=fil...原创 2019-10-30 15:12:46 · 663 阅读 · 0 评论 -
Lucene入门
一、介绍Lucene是一款高性能的、可扩展的信息检索(IR)工具库。信息检索是指文档搜索、文档内信息搜索或者文档相关的元数据搜索等操作。简单的说,搜索就是搜寻、查找,在IT行业中就是指用户输入关键字,通过相应的算法,查询并返回用户所需要的信息。传统的模糊查询方法在处理大数据的时候效率低、耗时长(select * from 表名 where 字段名 like ‘%关键字%’),所以luc...原创 2019-10-29 09:40:20 · 275 阅读 · 0 评论 -
MapReduce之Shuffle机制
目录一、什么是shuffle,为什么要用shuffle?二、shuffle工作流程三、流程图详细讲解:以wordcount作为案例一、什么是shuffle,为什么要用shuffle?数据从Map阶段传递给Reduce阶段的过程就叫Shuffle,Shuffle机制是整个MapReduce框架中最核心的部分。Mapreduce要确保每个reducer的输入都是按键排序的...原创 2019-10-28 18:43:52 · 925 阅读 · 0 评论 -
Storm API (二)
目录一、API简介二、依赖三、案例1、案例一:模拟统计日志文件中sesson_id个数(不去重)2、案例二:实时计算网站PV3、案例三:wordcount一、API简介storm主要以继承BaseRichSpout抽象类、BaseRichBolt抽象类 实现IRichSpout接口、IRichBolt接口两种方法继承抽象类方法较少,简洁清晰;若想实...原创 2019-10-26 14:28:34 · 499 阅读 · 0 评论 -
Storm教程(一)
目录一、什么是Storm二、名词术语理解三、配置storm集群一、什么是Storm1、定义:Storm是一个分布式实时计算系统。Storm能轻松可靠地处理无界的数据流,就像Hadoop对数据进行批处理;2、什么是离线计算?流式计算?离线计算:批量获取数据、传输数据、周期性批量计算数据 代表:Sqoop批量导入数据、HDFS批量存储数据、MapReduce批量计...原创 2019-10-24 09:58:10 · 1777 阅读 · 1 评论