大数据学习——flume拦截器

flume拦截器(interceptor)1、flume拦截器介绍拦截器是简单的插件式组件,设置在source和channel之间。source接收到的事件event,在写入channel之前,拦截器都可以进行转换或者删除这些事件。每个拦截器只处理同一个source接收到的事件。可以自定义拦截器。2、flume内置的拦截器2.1时间戳拦截器flume中一个最经常使用的拦截器,该拦截器的作用是将时间戳插入到flume的事件报头中。如果不使用任何拦截器,flume接受到的只有message。时间戳拦截器的配置:参数默认值描述typetimestamp类型名称timestamp,也可以使用类名的全路径org.apache.flume.interceptor.TimestampInterceptor$BuilderpreserveExistingfalse如果设置为true,若事件中报头已经存在,不会替换时间戳报头的值参数默认值描述typetimestamp类型名称timestamp,也可以使用类名的全路径org.apache.flume.interceptor.TimestampInterc...
代码星球 代码星球·2021-02-17

数据学习——采集文件到HDFS

采集需求:比如业务系统使用log4j生成的日志,日志内容不断增加,需要把追加到日志文件中的数据实时采集到hdfs 根据需求,首先定义以下3大要素l 采集源,即source——监控文件内容更新: exec ‘tail-Ffile’l 下沉目标,即sink——HDFS文件系统 : hdfssinkl Source和sink之间的传递通道——channel,可用filechannel也可以用内存channel viexec-hdfs-sink.confagent1.sources=source1agent1.sinks=sink1agent1.channels=channel1#Describe/configuretail-Fsource1agent1.sources.source1.type=execagent1.sources.source1.command=tail-F/root/logs/access_logagent1.sources.source1.channels=channel1#con...

数据学习——采集目录到HDFS

采集需求:某服务器的某特定目录下,会不断产生新的文件,每当有新文件出现,就需要把文件采集HDFS中去根据需求,首先定义以下3大要素l 采集源,即source——监控文件目录: spooldirl 下沉目标,即sink——HDFS文件系统 : hdfssinkl source和sink之间的传递通道——channel,可用filechannel也可以用内存memorychannel配置文件编写:vispooldir-hdfs-sink.conf#定义三大组件的名称agent1.sources=source1agent1.sinks=sink1agent1.channels=channel1 #配置source组件agent1.sources.source1.type=spooldiragent1.sources.source1.spoolDir=/root/data/agent1.sources.source1.fileHeader=false #配置拦截器agent1.sources.source1.in...

数据学习——flume安装部署

1.Flume的安装非常简单,只需要解压即可,当然,前提是已有hadoop环境上传安装包到数据源所在节点上然后解压 tar-zxvfapache-flume-1.6.0-bin.tar.gz2.cdapache-flume-1.6.0-bin;cdconf;--修改环境变量--重命名mvflume-env.sh.templateflume-env.shviflume-env.sh 测试小案例1在flume的conf文件下建一个文件vi  netcat-logger.conf#定义这个agent中各组件的名字a1.sources=r1a1.sinks=k1a1.channels=c1#描述和配置source组件:r1a1.sources.r1.type=netcata1.sources.r1.bind=itcast01a1.sources.r1.port=44444#描述和配置sink组件:k1a1.sinks.k1.type=logger#描述和配置channel组件,此处使用是内存缓存的方式a1.channels.c1.type=memorya...

数据学习——面试用sql——累计报表

createtablet_access_times(usernamestring,monthstring,salaryint)rowformatdelimitedfieldsterminatedby',';loaddatalocalinpath'/root/hivedata/t_access_times.dat'intotablet_access_times;A,2015-01,5A,2015-01,15B,2015-01,5A,2015-01,8B,2015-01,25A,2015-01,5A,2015-02,4A,2015-02,6B,2015-02,10B,2015-02,51、第一步,先求个用户的月总金额selectusername,month,sum(salary)assalaryfromt_access_timesgroupbyusername,month+-----------+----------+---------+--+|username|month|salary|+-----------+----------+---------+--+|A|2015-01|33|...

数据学习——hive函数

1内置函数测试各种内置函数的快捷方法:1、创建一个dual表createtabledual(idstring);2、load一个文件(一行,一个空格)到dual表3、selectsubstr('angelababy',2,3)fromdual; 2自定义函数UDF(user-definedfunction)和transform自定义函数类别UDF 作用于单个数据行,产生一个数据行作为输出。(数学函数,字符串函数)UDAF(用户定义聚集函数):接收多个输入数据行,并产生一个输出数据行。(count,max)UDTF(User-DefinedTable-GeneratingFunctions),一进多出(输入一行,输出多行),比如:collect_set()、collect_list()1、先开发一个java类,继承UDF,并重载evaluate方法packagecn.itcast.bigdata.udfimportorg.apache.hadoop.hive.ql.exec.UDF;importorg.apache.hadoop.io.Text;publicfinal...
代码星球 代码星球·2021-02-17

数据学习——hive数据类型

1.hive数据类型Hive的内置数据类型可以分为两大类:(1)、基础数据类型;(2)、复杂数据类型2.hive基本数据类型基础数据类型包括:TINYINT,SMALLINT,INT,BIGINT,BOOLEAN,FLOAT,DOUBLE,STRING,BINARY,TIMESTAMP,DECIMAL,CHAR,VARCHAR,DATE。3.hive集合类型集合类型主要包括:array,map,struct等,hive的特性支持集合类型,这特性是关系型数据库所不支持的,利用好集合类型可以有效提升SQL的查询速率。3.1集合类型之array(1)先创建一张表createtablet_array(idint,namestring,hobbyarray<string>)rowformatdelimitedfieldsterminatedby','collectionitemsterminatedby'-';(2)准备数据文件array.txt1,zhangsan,唱歌-跳舞-游泳2,lisi,打游戏-篮球(2)加载数据文件到t_array表中loaddatalocalinpat...
代码星球 代码星球·2021-02-17

数据学习——关于hive中的各种join

准备数据2,b3,c4,d7,y8,u2,bb3,cc7,yy9,pp建表:createtablea(idint,namestring)rowformatdelimitedfieldsterminatedby',';createtableb(idint,namestring)rowformatdelimitedfieldsterminatedby',';导入数据:loaddatalocalinpath'/root/hivedata/a.txt'intotablea;loaddatalocalinpath'/root/hivedata/b.txt'intotableb;innerjoin只打印能匹配上的数据,没有匹配上的不输出select*fromainnerjoinbona.id=b.id;leftjoin select*fromaleftjoinbona.id=b.id;  rightjoinselect*fromarightjoinbona.id=b.id; fullouterjoinselect*fromafullouterjoinbona...

数据学习——hive的sql练习

 1新建一个数据库createdatabasedb3;2创建一个外部表--外部表建表语句示例:createexternaltablestudent_ext(Snoint,Snamestring,Sexstring,Sageint,Sdeptstring)rowformatdelimitedfieldsterminatedby','location'/stu';3添加数据vistudent.txt95001,李勇,男,20,CS95002,刘晨,女,19,IS95003,王敏,女,22,MA95004,张立,男,19,IS95005,刘刚,男,18,MA95006,孙庆,男,23,CS95007,易思玲,女,19,MA95008,李娜,女,18,CS95009,梦圆圆,女,18,MA95010,孔小涛,男,19,CS95011,包小柏,男,18,MA95012,孙花,女,20,CS95013,冯伟,男,21,CS95014,王小丽,女,19,CS95015,王君,男,18,MA95016,钱国,男,21,MA95017,王风娟,女,18,IS95018,王一,女,19,IS95...

数据学习——hive显示命令

1showdatabases;2desct_partition001;3descextendedt_partition002;4descformattedt_partition002;5!clear;6!ls;7dfs-ls/;2DML操作loadloaddatalocalinpath'/root/hivedata/t_partitioned'intotablet_partition001partition(country="Japan");loaddatainpath'/t_partitioned'intotablet_partition001partition(country="Japan"); overwriteloaddatalocalinpath'/root/hivedata/stu_partition2'overwriteintotablestu_partitionpartition(city="China"); likecreatetablet_1likestu_partition; insert insertoverwriteta...

数据学习——hive数仓DML和DDL操作

1创建一个分区表createtablet_partition001(ipstring,durationint)partitionedby(countrystring)rowformatdelimitedfieldsterminatedby',';2添加数据loaddatalocalinpath'/root/hivedata/t_partitioned'intotablet_partition001partition(country="China"); 3增加一个分区altertablet_partition001addpartition(country="Japan");4添加数据loaddatalocalinpath'/root/hivedata/t_partitioned'intotablet_partition001partition(country="Japan");  5  showpartitionst_partition001;6删除分区 altertablet_partition001droppartition...

数据学习——hive基本操作

1建表createtablestudent(idint,namestring,ageint)rowformatdelimitedfieldsterminatedby',';2创建一个student.txt添加数据1,zhangsan,102,lisi,203,wnagwu,253上传hdfsdfs-putstudent.txt/user/hive/warehouse/student4 select*fromstudent; 5通常不会通过put方式加载数据,而是通过load的方式添加数据createtablet_user(idint,namestring,ageint)rowformatdelimitedfieldsterminatedby',';  loaddatalocalinpath'/root/student.txt'intotablet_user; 6添加hdfs上的数据hivehdfsdfs-putstudent1.txt/  7内部表和外部表的区别EXTERNAL关键字可以让用户创建一个外部表,在建表...

数据学习——hive使用

Hive交互shellbin/hive HiveJDBC服务hive也可以启动为一个服务器,来对外提供  启动方式,(假如是在itcast01上):启动为前台:bin/hiveserver2启动为后台:nohupbin/hiveserver21>/var/log/hiveserver.log2>/var/log/hiveserver.err& 启动成功后,可以在别的节点上用beeline去连接v 方式(1)hive/bin/beeline 回车,进入beeline的命令界面输入命令连接hiveserver2beeline>!connectjdbc:hive2://itcast01:10000(itcast01是hiveserver2所启动的那台主机名,端口默认是10000)v 方式(2)或者启动就连接:bin/beeline-ujdbc:hive2://itcast01:10000-nroot 接下来就可以做正常sql查询了...
代码星球 代码星球·2021-02-17

数据学习——hive安装部署

1上传压缩包2解压 tar-zxvfapache-hive-1.2.1-bin.tar.gz-Capps 3重命名mv apache-hive-1.2.1-binhive 4设置环境变量vi/etc/profileexpertHIVE_HOME=/root/apps/hiveexportPATH=$PATH:$HIVE_HOME/bin 5启动hivecdapps/hivebin/hive   出现上面的问题是因为版本不兼容解决一下版本不兼容问题:替换apps/hadoop/share/hadoop/yarn/lib中的老版本jline为hive的lib中的jline-2.12.jar命令cdapps/hadoop/share/hadoop/yarn/librm-rfjline-0.9.94.jarcp/root/apps/hive/lib/jline-2.12.jar/root/apps/hadoop/share/hadoop/yarn/lib 启动hive 6测试 数据默认...

数据学习——日志分析

有两个海量日志文件存储在hdfs上,其中登陆日志格式:user,ip,time,oper(枚举值:1为上线,2为下线);访问之日格式为:ip,time,url,假设登陆日志中上下线信息完整,切同一上下线时间段内是用的ip唯一,计算访问日志中独立user数量最多的前10个url,用MapReduce实现。提示:1、要统计前10,需要两个步骤,第一个步骤实现join,统计出每个url对应的独立用户数,第二步骤求出top102、两个大表join,用同一job多输入3、要根据ip字段join,所以要根据ip分区4、求top10 数据:login.logtom,192.168.1.11,2017-11-2010:00,1tom,192.168.1.11,2017-11-2011:00,2sua,192.168.1.12,2017-11-2010:01,1sua,192.168.1.12,2017-11-2010:30,2lala,192.168.1.11,2017-11-2011:01,1lala,192.168.1.11,2017-11-2011:30,2tom,192.168.1....
代码星球 代码星球·2021-02-17
首页上一页...1819202122...下一页尾页