- 博客(27)
- 收藏
- 关注
原创 hive的自定义函数
为什么要自定义函数hive自带了一些函数,比如max、min,但是数量有限,自己可以自定义UDF来方便的扩展当hive提供的内置函数无法满足你的业务处理需要时,此时就可以考虑使用用户自定义函数(UDF:User-Defined-Function 较多)根据用户自定义函数类别分为以下三种:1.UDF:一进一出2.UDAF:聚集函数 多进一出 类似于:count/max/min3.UDTF:一进多出,如lateral view explore()官方文档地址:https://cwiki.a
2020-09-09 20:04:32
277
原创 hive的数据类型
基本数据类型因为hive也是java编写的,所以它的基本数据类型和java大致相同集合数据类型hive中的列支持struct、map、array集合数据类型array(数组)特点:个数可以不相同,但是类型相同例:以family为例建表语句:create table t_family(name string,families array<string>)row format delimited fields terminated by '\t'collection iter
2020-09-09 17:06:21
439
原创 hadoop、kafka、spark的进程挂掉的问题以及解决方案
hadoopnamenode http服务的端口:50070namenode 接收Client连接的RPC端口,用于获取文件系统metadata信息:8020JobHistory Server http服务端口:19888进程:namenode:namenode 相当于一个领导者,负责调度 比如你需要存一个640m的文件 如果按照64m分块 那么namenode就会把这10个块(这里不考虑副本)分配到集群中的datanode上 并记录对于关系 。当你要下载这个文件的时候namenode就知道在
2020-08-31 20:26:42
1597
原创 安装sqoop以及测试连接数据库
sqoop是一款开源的工具,主要用于hadoop(hive)与传统的数据库(mysql,oracle)间进行数据的传递,可以将一个关系型数据库中的数据导进到hadoop的hdfs中,也可以将hdfs的数据导入到关系型数据库中。集群搭建中需要安装sqoop,步骤如下:1.上传上传安装包sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz到bigdata02的/opt/software路径中2.解压tar -zxf sqoop-1.4.6.bin__hadoop-2.0
2020-08-21 18:35:48
2376
原创 数据仓库之mysql业务数据上传到hdfs
业务数据就是业务流程中产生的登陆、订单、用户、商品、支付等相关的数据,通常存储在DB中,包括mysql、oracle等mysql版本:5.6.24sqoop版本:sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gzhadoop版本:3.2.1编写脚本mysql_to_hdfs.sh#! /bin/bashsqoop=/opt/module/sqoop/bin/sqoopdo_date=`date -d '-1 day' +%F`if [[ -n "$2"
2020-08-20 19:54:39
745
原创 数据仓库之系统数据流程设计
数据加工的整体流程设计如下图:数据源:业务交互数据前端埋点用户行为数据数据走向:业务数据上传到mysql数据库中,有些表需要每天进行更新,从业务服务器上传的数据每天都会有变化,数据库就是便于较少数据的增删改查。最终将数据通过sqoop上传到hdfs,在用sqoop上传时,可能运行时间比较长,例如20多张表需要一个小时才可以完全上传成功。埋点的用户行为数据储存在特定的linux目录中,我设置的是 /tmp/logs 中,启动flume将logfile上传到kafka指定的topic中,再启动f
2020-08-20 19:14:57
857
原创 hive函数之行转列和列转行
行转列:将多行转为一列1.写数据以"\t"隔开vim shujv.txt孙悟空 白羊座 A老王 射手座 A宋宋 白羊座 B猪八戒 白羊座 A凤姐 射手座 A2.建表以"\t"分割create table person_info( name string, constellation string, blood_type string)row format delimited fields terminated by '\t';3.
2020-08-19 20:30:57
454
原创 批量启动kafka脚本
群起,关闭kafka脚本一般kafka我们配置3台,在启动kafka时候需要到每个节点上一一启动,所以写个脚本,方便执行。脚本编写 kf.sh#! /bin/bashcase $1 in"start"){ for i in clus10 clus11 clus12 do echo " --------启动 $i Kafka-------" ssh $i "source /etc/profile
2020-08-11 19:37:03
439
原创 xshell一直前置,不能切换
xshell一直在屏幕的最前面,切换浏览器都没反应,很不方便,可能跟设置有关系解决方法:将查看->总在最前面->对勾取消,如下图
2020-08-11 17:32:19
1975
6
原创 批量启动zookeeper脚本
群起zookeeper集群的shell脚本编写在我们整个的集群环境中,有时候为了方便启动组件,我们需要自己手写shell脚本以下是批量启动zookeeper的shell脚本编写以及遇到的问题解决:1)编写脚本zk.sh#! /bin/bashcase $1 in"start"){ for i in clus10 clus11 clus12 do ssh $i "/opt/module/zookeeper/bin/zkServer.sh start" done};;"stop"
2020-08-11 17:14:55
510
原创 IDEA中控制日志输出
控制日志输出在pom.xml中添加log4j的依赖 <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.3</version> </dependency>
2020-07-03 12:29:34
1385
原创 不能为虚拟电脑xxxx打开一个新的任务解答
在使用virtualbox时开启一个虚拟电脑之后,显示不能开启,弹框----->不能为虚拟电脑xxxx开启一个新的任务原因是为clus13改变了编组,导致文件缺失不充分,这时候进行文件的补充就可以了。(附图片)...
2020-03-04 19:02:04
2819
1
原创 在IDEA中的maven项目中开发scala项目
在maven项目中,怎么写Scala项目呢?下面是具体步骤,希望能帮到你哦1.新建一个Maven项目2.新建文件夹scala,并且将文件夹设置为resource root3.添加scala library4.添加scala插件,前提是先在settings-plugins中下载安装哦(附步骤)5.创建scala class,进行测试以上就是配置的具体流程,相互交流...
2020-03-03 17:38:05
755
1
原创 Incompatible Jackson version: 2.9.8解决方案
在运行spark连接kafka的示例代码的时候,报Incompatible Jackson version: 2.9.8解放方案:版本不兼容,Jackson:是一个专门处理JSON的相关工具包,国外都使用这个包我们下载这个包:jackson-module-scala_2.11-2.9.8.jar;jackson-core网站:https://mvnrepository.com/artifac...
2020-02-28 19:40:11
1092
1
原创 spark的优化
背景为什么需要调优??程序都是能跑的,集群还是那个集群,但是有可能另外一个会调优的人和你写的代码的运行的速度要几倍甚至几十倍1.开发调优1.1 原则一:避免创建重复的RDD我们有一份数据 ,student.txt第一个需求 :wordCount val stuRDD = sc.textFile(“e://sparkData//student.txt”)第二个需求:算有多少个学生 ...
2020-02-12 19:09:55
224
原创 hive的优化
1.数据量较大的情况下慎用count(distinct name)问题:使用disticnt函数,所有的数据只会shuffle到一个reducer上,导致reducer数据倾斜严重易造成数据倾斜,比如:男UV,女UV,淘宝一天30亿的PV,如果按性别分组,分配2个reduce,每个reduce处理15亿数据。优化:建议使用group by 字段,分组之后再对该字段做次数统计;hive去重有...
2020-02-12 18:17:10
351
原创 sparkRDD
什么是RDDRDD(Resilient Distributed Dataset)叫做分布式数据集,是Spark中最基本的数据抽象。代码中是一个抽象类,它代表一个不可变、可分区、里面的元素可并行计算的集合。RDD的属性一组分区(Partition),即数据集的基本组成单位一个计算每个分区的函数RDD之间的依赖关系一个Partitioner,即RDD的分片函数一个列表,存储存取每个Pa...
2020-01-03 20:32:59
166
原创 Spark配置之历史服务器(HistoryServer)
为什么要配置历史服务器DriverProgram:客户端;提交一个应用程序(application)以后,再提交一次,就无法查看之前的提交信息了;使用历史服务器就可以具体配置过程如下:现有客户机(clus10,clus11,clus12,clus13)首先启动zookeeperbin/zkServer.sh startbin/zkServer.sh status查看状态(一个leade...
2019-12-30 20:09:55
2621
原创 Spark的3种运行模式:单机模式,standalone模式(高可用),yarn模式
spark运行模式之单机模式单机版本(local模式)1.在一台虚拟机上上传spark压缩包到/opt/module/下2.解压 tar -zxvf 压缩包名字 tar -xzvf spark-2.4.4-bin-hadoop2.7.tgz3.重命名解压后的文件mv spark-2.4.4-bin-hadoop2.7/ spark4.删除压缩包,节省空间 rm -rf spa...
2019-12-28 10:32:05
2099
原创 初识spark
为什么学习spark是因为高并发:双十一,春运抢火车票,交通,电信这些数据都存储到数据库中占用磁盘空间很大问题:所有的数据在一台电脑上磁盘存储不下,CPU+内存无法读取大文件hadoop架构主要处理的是离线数据,并不是实时的。hive太慢hbase存储的是非结构化数据(和mysql不一样)无法处理实时的问题:路况,双十一年会,小米(饥饿营销)spark擅长于实时计算,Ap...
2019-12-26 19:24:09
141
原创 jdk1.8新特性之Lambda
Lambda表达式Lambda表达式,也可称为闭包,允许把函数作为一个方法的参数(函数作为参数传递进方法中),使代码变得更加简洁紧凑。语法格式如下:(parameters)- > expression或者(parameters) - > {statements;}Lambda表达式的重要特征:可选的类型声明:不需要声明参数类型可选的小括号:一个参数不需要小括号,多个参...
2019-12-14 15:04:50
159
原创 jdk1.8新特性之小试牛刀
Java 8 新特性Java 8(又称为jdk1.8)是Java语言开发的一个主要版本。Oracle公司在2014年3月18日发布的Java 8。新特性Java 8 新增了非常多的特性,我们主要讨论以下几个:Lambda表达式方法引用默认方法Stream APIDate Time APIOptional 类Java 8有自己的编程风格,简洁,与 Java 7区分开,以下实例...
2019-12-14 10:56:33
215
原创 hbase单机版本
hbase单机版本 环境准备:jdk1.8 hadoop-2.7.2 zookeeper-3.4.10 hbase官网https://hbase.apache.org 下载bin.tar.gz压缩包安装如下:开启虚拟机hadoop02 将压缩包上传到 /opt/software/ 解压$ tar -xzvf hbase-2....
2019-12-13 22:03:49
149
原创 初识HBase
为什么学习HBase 首先我们先来总结一下web项目的共性所有的项目,数据都存储到数据库中数据库只认sql语句用户会在网页单击,双击,滑动小方块等,会被jsp(Servlet)(java)翻译成sql语句,发送给数据库crud :增加 查询 修改 删除 ------查询语句最常用,如果我们发现查询语句执行的结果都是一样的,可以把查询的数据放在内存中,下次查询的时候直...
2019-12-13 20:58:54
120
原创 shell脚本学习
Shell脚本入门##Shell解析器()(1)Linux提供的Shell解析器有:``go[jinghnag@hadoop101 ~]$ cat /etc/shells/bin/sh/bin/bash/sbin/nologin/bin/dash/bin/tcsh/bin/csh(2)bash和sh的关系```go[jinghnag@hadoop101 bin]$ l...
2019-11-10 21:36:13
273
原创 伪分布式运行模式
搭建伪分布式运行模式总结(总结)1.step1 准备干净的linux 安装vmware,安装centOS 6,安装vmtools2.step2 关闭防火墙 sudo service iptables stop sudo service iptables off3.step3 修改主机的hostname 编辑vim /etc/sysconfig/network 改HOSTN...
2019-11-10 21:10:28
428
原创 Linux实用指令
Linux 实用指令1.帮助指令man lshelp cdcd --help2.pwd ls cdpwd 显示当前目录的绝对路径ls 显示查看当前目录的所有内容信息ls -als - lcd 切换到指定目录【绝对路径:从根目录开始定位】【相对路径:从当前工作目录开始定位到需要的目录】cd /root 使用绝对路径回到rootcd… 回到当前目录的上一级目录...
2019-11-10 19:48:53
319
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅