自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

woods的博客

大数据博客

  • 博客(30)
  • 收藏
  • 关注

原创 ES中文分词并使用滑动窗口

何谓滑动窗口分词:比如原句:woods data hadoop分词后为: woods woods data woods data hadoop data data hadoop hadoop创建索引,自定义分词方式:使用ik_smart中文分词,并使用shingle过滤器(滑动窗口模式)put test{ "settings": { "index": { "analysis": {

2020-07-09 17:26:48 610

原创 hive FULLJOIN中实现部分数据FULLJOIN另一部分数据LEFTJOIN的结果

需求一个重点店铺表:dim_shop_point一个用户对店铺关注表:follow_shop一个近一年用户对店铺订单表:order_shop_year全量店铺中有重点店铺和其他店铺实现重点店铺的近一年订单数据及全量关注人群 + 非重点店铺关注人与近一年用户店铺订单的交集。方案方案一:使用订单表order_shop_year ,FULL JOIN上重点店铺的全量关注人群,再LEFT JOIN上非重点店铺的关注人群。SQL:select id,shop_id,is_follow,t1.ord

2020-06-24 19:10:11 762

原创 hivesql解析json数组并拆分成多行

原始数据: [{"name":"woods","app_id":"abc123"},{"name":"tiger","app_id":"def456"}]数据存在表dev.woods_test中需求与方法:解析json,一行拆分成两行select a_jsonfrom(select split(regexp_replace(regexp_extract (json_col ,...

2020-03-05 17:21:49 6365

原创 云主机自建ES6.x,本地外网Spark连接

环境: 1. 云主机自建elsticsearch6.5.4 (内网ip:192.168.0.3 外网ip:WAN_IP) 2. Spark2.4开发:官方开发文档:https://www.elastic.co/guide/en/elasticsearch/hadoop/6.5/spark.html引入pom <dependency> <groupId...

2020-03-05 17:20:39 352

原创 Flume之KafkaSink的自定义分区写入

场景Kafka接收MySQL BinLog日志,同一个表的同一个主键需要按照顺序来消费。如果数据一条数据实际顺序是先create,再delete,消费是也必须按照这个顺序。但是kafka只保证了同一分区内的数据是有序的。所以需要将同一个主键的数据放到一个Kafka分区中。可以按照表名.主键值作为Kafka的分区key。下面使用flume模拟数据发送到Kafka。Flume Sourc...

2019-06-22 18:05:01 2140 2

原创 Docker--镜像推送至阿里云

1. 登录阿里云镜像仓库https://cr.console.aliyun.com/cn-beijing/instances/repositories2. 创建命名空间左侧菜单栏 -> 命名空间 -> 创建命名空间3. 创建镜像仓库左侧菜单栏 -> 镜像仓库 -> 创建镜像仓库填写仓库信息代码源:选择本地仓库。4. 本地镜像推送至阿里云点击刚创建的镜像...

2019-06-10 15:16:19 637

原创 Docker--自定义Dockerfile并构建

1. 编写一个centos的Dockerfile指定登录默认路径为/home安装vim以支持vim编辑器安装net-tools以支持ifconfig暴露80端口vim /home/docker/Dockerfile-centos01FROM centosMAINTAINER wsjwoods<wsjwoods@gmail.com>ENV MYPATH /home...

2019-06-10 15:15:42 750

原创 Docker--Dockerfile保留关键字

FROM 基础镜像,当前新镜像是基于哪个镜像的。MAINTAINER 镜像维护者的姓名和邮箱地址RUN 容器构建时需要运行的命令EXPOSE 当前容器对外暴露出的端口号WORKDIR 指定在创建容器后,终端默认登录的进来的工作目录,落脚点,默认是根目录/ENV 用来在构建镜像过程中设置环境变量ADD 将宿主机目录下的文件拷贝进镜像且ADD命令会自动处理URL和解压...

2019-06-10 15:14:19 299

原创 Docker--阿里云镜像加速

登录阿里云镜像主页https://cr.console.aliyun.com/cn-beijing/instances/mirrors注册或登录阿里云账号,可复用淘宝账号选择左侧菜单栏 -> 镜像加速器安装/升级Docker客户端推荐安装1.10.0以上版本的Docker客户端,参考文档 docker-ce配置镜像加速器针对Docker客户端版本大于 1.10.0 的用...

2019-06-10 15:12:23 139

原创 Docker--部署

官网https://docs.docker.com/install/linux/docker-ce/centos/#install-docker-ce-11.卸载旧版本$ sudo yum remove docker \ docker-client \ docker-client-latest \ ...

2019-06-04 18:46:17 174

原创 Superset部署,基于Python3

环境:python3centos 7.4部署:官网 http://superset.apache.org/installation.html安装python 和 其他依赖sudo yum upgrade python-setuptoolssudo yum install gcc gcc-c++ libffi-devel python-devel python-pip pyth...

2019-05-31 09:50:43 2016

原创 安装Python3并包含sqlite3

下载sqlite3的包wget https://www.sqlite.org/2017/sqlite-autoconf-3170000.tar.gz --no-check-certificatetar zxvf sqlite-autoconf-3170000.tar.gzcd sqlite-autoconf-3170000./configure --prefix=/usr/local/sq...

2019-05-31 09:29:49 2137

原创 Presto读取MySQL数据

配置文件[root@bigdata-003 catalog]# vi mysql.properties connector.name=mysqlconnection-url=jdbc:mysql://bigdata-001:3306connection-user=rootconnection-password=rootSQL使用select count(1)from mpp.dw...

2019-05-28 16:41:57 3161

原创 HashShuffleManager测试shuffle阶段中间文件数量

文章目录1.HashShuffleManager2.SortShuffleManager3.HashShuffleManager + consolidateFiles环境:spark 1.6.0 & 1.5.11.HashShuffleManagerspark2.0之后就没有HashShuffleManager了,所以使用1.6版本来测试。spark1.1之前一直是默认Has...

2019-05-23 15:55:54 278

原创 spark外部数据源之JDBC源码解读

文章目录环境:第一步:DataFrameReader.format第二步:DataFrameReader.option第三步:DataFrameReader.load第四步:DataFrameReader.loadV1Source()第五步:DataSource.resolveRelation()resolveRelation第一部分第六步:==JdbcRelationProvider==.cre...

2019-05-21 11:05:15 2250

原创 sparksql 数据按逗号拆分成多行

比如:原表(表名:table1)idnum1001,002,0032001,002转换成idnum10011002100320012002使用lateral view explode()语法使用方法是:select id,num_perfrom table1 lateral view ex...

2019-05-20 17:38:20 6033

原创 Presto mysq 驱动问题

由于公司数据主要存在MPP数据库中(底层MYSQL分布式数据库集群),决定使用Presto做OLAP查询引擎。因为Presto支持非HIVE的外部数据源。版本presto-server-0.216安装部署好之后,配置mpp的catalogvim ./etc/catalog/mpp.propertiesconnector.name=mysqlconnection-url=jdbc:my...

2019-05-17 15:51:32 1160

原创 RDD缓存及序列化缓存

1. MEMORY_ONLY and not Serializer使用MEMORY_ONLY 方式缓存,RDD占用内存的大小为22.6M。2.MEMORY_ONLY_SER and JavaSerializer使用MEMORY_ONLY_SER 并且序列化方式为默认的JavaSerializer方式缓存,RDD占用内存的大小为5.7M。3.MEMORY_ONLY_SER and Kry...

2019-05-13 00:29:56 386

原创 WARN spark.yarn.jars falling back to uploading

spark yarn模式的任务在启动时会出现如下警告,表示需要上传本地的spark jar包到hdfs上,这一步肯能非常耗时。WARN Client: Neither spark.yarn.jars nor spark.yarn.archive is set, falling back to uploading libraries under SPARK_HOME解决办法就是提前收到上传sp...

2019-05-11 12:43:43 609

原创 spark RDD五大特性并在源码中的体现

RDD: Resilient Distributed Dataset弹性分布式数据集RDD五大特性及源码中体现:1. A list of partitions (可分区的)是由多个分区集合合成的列表protected def get Partitons:Array[Partition]HadoopRdd实现: override def getPartitions: Array[P...

2019-05-11 11:16:37 288

原创 scala最大堆最小堆,取TopN

用scala实现一个最大堆或最小堆并且维护一个长度为N的最小堆取,用来取TopN定义一个HeapSort class/** * 堆排序:采用大顶堆,根节点大于两层元素,该类需要满足具备三个方法: 1.由正常数组变换为符合堆结构的方法 * 2.向堆中插入数据。3.从堆中删除数据。 * 重要特性:1.根节点索引值为i,根节点元素满足Key[i]>=Key[2i+1]&&...

2019-05-07 19:14:26 1095

转载 spark脚本监控任务运行状态

如何根据appName监控spark任务,当任务不存在则启动(任务存在当超过多久没有活动状态则kill,等待下次启动)业务需求实现一个根据spark任务的appName来监控任务是否存在,及任务是否卡死的监控。1)给定一个appName,根据appName从yarn application -list中验证任务是否存在,不存在则调用spark-submit.sh脚本来启动任务;2)如果任务...

2019-05-05 00:08:31 3943

原创 Hadoop压缩格式

hadoop的常用压缩格式压缩格式可分割算法扩展名Linux工具gzip否DEFLATE.gzgziplzo是(加索引)LZO.lzolzopsnappy否Snappy.snappy无Bzip2是Bzip2.bz2bzip2deflate否DEFLATE.deflate无zip是ZIP.zip...

2019-05-02 00:22:13 280

原创 配置hadoop,hive压缩

hadoop的压缩大体分为三个步骤:1.map阶段:压缩文件通过split分片进入到maptask所以压缩文件必须是支持分片的(text,lzo[index])2.shuffle阶段mapshuffle落地到磁盘时,选用压缩速度快的格式。3.reduce output阶段分为两种场景:一.reduce的输出作为下一个任务的输入,此时压缩文件最好采用支持分片的格式,或者保证outpu...

2019-05-02 00:07:35 142

原创 2019-05-01最新Linux安装Ruby 安装Jekyll

网上很多安装方式都有问题,这里汇总一下并亲自试验且安装成功我的linux环境:centos71.安装rvmgpg2 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDBcurl -sSL https://get.rvm.io | bash -s stabl...

2019-05-01 13:20:20 651 3

原创 shell脚本常用语法

1.显示行号vim test.sh:set nu 显示行号2.参数echo $1echo $2echo "参数个数:$#"echo "参数作为一个长字符串: $*"echo "当时执行脚本PID: $$"3.数组数组只支持一维#!/bin/basharr=(aaa bbb ccc ddd eee)echo ${arr[@]} #数组全部的值echo ${arr[*]...

2019-05-01 13:02:37 117

原创 报错:JAVA_HOME is not set

使用sudo -u hdfs 命令执行脚本时报错执行 sudo -u hdfs spark-shell报错 JAVA_HOME is not set解决方法:修改linux系统environmentvim /etc/environment添加一行:JAVA_HOME=/opt/jdk...

2019-04-28 14:58:35 5108

原创 编译spark2.4.2

环境搭建下载安装包:1) 官网 wget https://archive.apache.org/dist/spark/spark-2.4.2/spark-2.4.2.tgz2) GitHub下载3) git clone https://github.com/apache/spark.git解压tar -zxvf spark-2.4.2.tgz配置环境变量JAVA_HOME编译官...

2019-04-28 14:47:29 255

原创 linux新建用户应用于hadoop权限

创建用户组[root@vm ~]# groupadd usergroup1创建用户并指定组[root@vm ~]# useradd -d /usr/user1/ -m user1 -g usergroup1给用户设置密码[root@vm ~]# passwd user1123456创建hdfshadoop fs -mkdir /user/user1hadoop fs -chown...

2019-04-22 15:45:59 1697

原创 Java基础

文章目录1.HashMap实现原理2.Hash冲突如何解决3.Overwrite,overload,override 区别4、继承-子类,父类1. 概念2. 限制3.继承中初始化的顺序5、 接口、抽象类的区别6、多线程实现方式1、继承Thread类创建线程2、实现Runnable接口创建线程3、实现Callable接口通过FutureTask包装器来创建Thread线程4、使用ExecutorSe...

2019-04-21 23:55:24 97

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除