大数据
Time Woods
一枚大数据开发工程狮
展开
-
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 · 615 阅读 · 0 评论 -
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 · 768 阅读 · 0 评论 -
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 · 6406 阅读 · 0 评论 -
云主机自建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 · 354 阅读 · 0 评论 -
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 · 286 阅读 · 0 评论 -
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 · 3218 阅读 · 0 评论 -
Docker--Dockerfile保留关键字
FROM 基础镜像,当前新镜像是基于哪个镜像的。MAINTAINER 镜像维护者的姓名和邮箱地址RUN 容器构建时需要运行的命令EXPOSE 当前容器对外暴露出的端口号WORKDIR 指定在创建容器后,终端默认登录的进来的工作目录,落脚点,默认是根目录/ENV 用来在构建镜像过程中设置环境变量ADD 将宿主机目录下的文件拷贝进镜像且ADD命令会自动处理URL和解压...原创 2019-06-10 15:14:19 · 303 阅读 · 0 评论 -
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 · 145 阅读 · 0 评论 -
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 · 753 阅读 · 0 评论 -
Docker--镜像推送至阿里云
1. 登录阿里云镜像仓库https://cr.console.aliyun.com/cn-beijing/instances/repositories2. 创建命名空间左侧菜单栏 -> 命名空间 -> 创建命名空间3. 创建镜像仓库左侧菜单栏 -> 镜像仓库 -> 创建镜像仓库填写仓库信息代码源:选择本地仓库。4. 本地镜像推送至阿里云点击刚创建的镜像...原创 2019-06-10 15:16:19 · 640 阅读 · 0 评论 -
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 · 179 阅读 · 0 评论 -
Flume之KafkaSink的自定义分区写入
场景Kafka接收MySQL BinLog日志,同一个表的同一个主键需要按照顺序来消费。如果数据一条数据实际顺序是先create,再delete,消费是也必须按照这个顺序。但是kafka只保证了同一分区内的数据是有序的。所以需要将同一个主键的数据放到一个Kafka分区中。可以按照表名.主键值作为Kafka的分区key。下面使用flume模拟数据发送到Kafka。Flume Sourc...原创 2019-06-22 18:05:01 · 2155 阅读 · 2 评论 -
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 · 1165 阅读 · 0 评论 -
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 · 388 阅读 · 0 评论 -
配置hadoop,hive压缩
hadoop的压缩大体分为三个步骤:1.map阶段:压缩文件通过split分片进入到maptask所以压缩文件必须是支持分片的(text,lzo[index])2.shuffle阶段mapshuffle落地到磁盘时,选用压缩速度快的格式。3.reduce output阶段分为两种场景:一.reduce的输出作为下一个任务的输入,此时压缩文件最好采用支持分片的格式,或者保证outpu...原创 2019-05-02 00:07:35 · 149 阅读 · 0 评论 -
Hadoop压缩格式
hadoop的常用压缩格式压缩格式可分割算法扩展名Linux工具gzip否DEFLATE.gzgziplzo是(加索引)LZO.lzolzopsnappy否Snappy.snappy无Bzip2是Bzip2.bz2bzip2deflate否DEFLATE.deflate无zip是ZIP.zip...原创 2019-05-02 00:22:13 · 286 阅读 · 0 评论 -
编译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 · 263 阅读 · 0 评论 -
报错: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 · 5121 阅读 · 0 评论 -
spark脚本监控任务运行状态
如何根据appName监控spark任务,当任务不存在则启动(任务存在当超过多久没有活动状态则kill,等待下次启动)业务需求实现一个根据spark任务的appName来监控任务是否存在,及任务是否卡死的监控。1)给定一个appName,根据appName从yarn application -list中验证任务是否存在,不存在则调用spark-submit.sh脚本来启动任务;2)如果任务...转载 2019-05-05 00:08:31 · 3961 阅读 · 0 评论 -
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 · 128 阅读 · 0 评论 -
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 · 656 阅读 · 3 评论 -
sparksql 数据按逗号拆分成多行
比如:原表(表名:table1)idnum1001,002,0032001,002转换成idnum10011002100320012002使用lateral view explode()语法使用方法是:select id,num_perfrom table1 lateral view ex...原创 2019-05-20 17:38:20 · 6068 阅读 · 0 评论 -
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 · 289 阅读 · 0 评论 -
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 · 620 阅读 · 0 评论 -
spark外部数据源之JDBC源码解读
文章目录环境:第一步:DataFrameReader.format第二步:DataFrameReader.option第三步:DataFrameReader.load第四步:DataFrameReader.loadV1Source()第五步:DataSource.resolveRelation()resolveRelation第一部分第六步:==JdbcRelationProvider==.cre...原创 2019-05-21 11:05:15 · 2277 阅读 · 0 评论 -
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 · 1707 阅读 · 0 评论