09 2020 档案

摘要:一、报表属性设计基础 1、单元格扩展 2、父子格设置 3、层次坐标 a、相对层次坐标 Cellx[Cellx:-1] b、绝对层次坐标 Cellx[Cellx:2] c、常用公式 1)、Cellx[!0] Cellx的所有值 2)、Cellx[!0]{判断条件} Cellx符合判断条件的值 3)、& 阅读全文
posted @ 2020-09-28 17:46 市丸银 阅读(211) 评论(0) 推荐(0) 编辑
摘要:一、概念:子单元格设置父单元格后,子单元跟随父单元格扩展。简单地说,子单元格根据父单元格分组显示。 二、类别 1、左父格 2、上父格 阅读全文
posted @ 2020-09-27 17:22 市丸银 阅读(568) 评论(0) 推荐(0) 编辑
摘要:概念:使用层次坐标进行跨行运算、跨组运算、集合运算等等 一、示例 1、基本概念 比较:单元格扩展出的每个值与第一个值进行比较 占比:单元格中每个值占总量的比例 环比:计算每行数据与上一行数据的比率 2、列表 3、实现 比较:B2-B2[A2:1] 占比:B2/sum(B2[!0]) 环比:IF(&A 阅读全文
posted @ 2020-09-25 16:33 市丸银 阅读(472) 评论(0) 推荐(0) 编辑
摘要:一、相对层次坐标 1、文件->新建普通报表 2、选中A1 -> F(X) range(5) 函数 -> 单元格属性 -> 扩展 -> 扩展方向纵向 3、选中B1 -> F(X) A1[A1:-1] 注意: 相对后移:Cellx[Cellx:-z] 相对前移:Cellx[Cellx:+z] 二、绝对层 阅读全文
posted @ 2020-09-22 17:06 市丸银 阅读(730) 评论(0) 推荐(0) 编辑
摘要:时间参数参考: https://www.cnblogs.com/Rain1203/p/11699420.html 1、程序开启入口 @SpringBootApplication @EnableScheduling public class Application { public static vo 阅读全文
posted @ 2020-09-21 16:25 市丸银 阅读(118) 评论(0) 推荐(0) 编辑
摘要:1、分组表格 默认:左父格、上父格 2、自由表格 自定义左父格,都环绕着 订单编号的数据单元格 做 自定义 左父格 阅读全文
posted @ 2020-09-18 20:55 市丸银 阅读(281) 评论(0) 推荐(0) 编辑
摘要:一、分类 1、行式报表 表格 2、交叉报表 表头 阅读全文
posted @ 2020-09-18 20:47 市丸银 阅读(156) 评论(0) 推荐(0) 编辑
摘要:一、单元格扩展 路径:单元格属性 -> 扩展 分类:不扩展、纵向扩展、横向扩展 二、单元格样式 路径:单元格属性 -> 样式 设置文本格式 日期/数字/货币 阅读全文
posted @ 2020-09-18 20:44 市丸银 阅读(202) 评论(0) 推荐(0) 编辑
摘要:1、连接数据库 服务器 -> 定义数据库连接2、新建报表 文件 -> 新建普通报表3、添加数据集 选择 模板数据集 -> 选择数据库 -> 写sql语句 ->预览 注意:数据集可以添加多个4、设计报表 (交叉式报表) 合并单元格 设置斜线 填写内容 注意单元格属性的扩展方向 设置F(x) 设置两个数 阅读全文
posted @ 2020-09-18 13:29 市丸银 阅读(881) 评论(0) 推荐(0) 编辑
摘要:一、需求 去掉日志,小于11个 二、代码 1、Mapper package com.wt.etl; import org.apache.hadoop.io.LongWritable; import org.apache.hadoop.io.NullWritable; import org.apach 阅读全文
posted @ 2020-09-11 07:45 市丸银 阅读(102) 评论(0) 推荐(0) 编辑
摘要:1、采样枚举的方式统计 enum MyCounter{MALFORORMED, NORMAL} // 对枚举定义的自定义计数器加1 context.getCounter(MyCounter.MALFORORMED).increment(1) 2、采样计数组、计数器名称的方式统计 context.ge 阅读全文
posted @ 2020-09-11 07:22 市丸银 阅读(172) 评论(0) 推荐(0) 编辑
摘要:一、需求分析 1、需求 与Reduce join的需求一致 2、分析 a、在mapper的setup加载缓存,设置 kv 键值对 b、在map()方法中根据pid 获取 panme 根据上面的k v c、写driver,设置reducenum为 0 ,使用缓存文件 二、代码 1、Driver pac 阅读全文
posted @ 2020-09-10 07:54 市丸银 阅读(194) 评论(0) 推荐(0) 编辑
摘要:一、基础 1、Reduce join 会给Reduce带来过多的负载,容易使数据发生倾斜 2、Map join 适用于一张小表和一张大表 二、实现 1、在Mapper的setup阶段,将文件读取到缓存集合中(小文件) 2、在驱动函数中加载缓存 job.addCacheFile(new URI(路径) 阅读全文
posted @ 2020-09-09 23:11 市丸银 阅读(390) 评论(0) 推荐(0) 编辑
摘要:一、需求分析 1、需求 order.txt id pid amount 1001 01 1 1002 02 2 1003 03 3 1004 01 4 1005 02 5 1006 03 6 pd.txt pid pname 01 小米 02 华为 03 格力 两张表合并成order.txt中的pi 阅读全文
posted @ 2020-09-08 23:52 市丸银 阅读(137) 评论(0) 推荐(0) 编辑
摘要:一、Map端的主要工作 为来自不同表或文件的key/value对,打标签以区别不同来源的记录。 然后用连接字段作为key,其余部分和新加的标志作为value,最后进行输出。 二、Reduce端的主要工作 在Reduce端以连接字段作为key的分组已经完成, 我们只需要在每一个分组当中将那些来源于不同 阅读全文
posted @ 2020-09-08 22:07 市丸银 阅读(101) 评论(0) 推荐(0) 编辑
摘要:一、需求分析 1、内容 http://www.baidu.com http://www.google.com http://cn.bing.com http://www.atguigu.com http://www.sohu.com http://www.sina.com http://www.si 阅读全文
posted @ 2020-09-08 20:55 市丸银 阅读(228) 评论(0) 推荐(0) 编辑
摘要:一、基础知识 OutputFormat是MapReduce输出的基类,所有实现MapReduce输出都实现了OutputFormat接口 二、常见的OutputFormat实现类 1、TextOutputFormat 默认的输出格式是TextOutputFormat,它把每条记录写在文本行。 它的键 阅读全文
posted @ 2020-09-08 12:57 市丸银 阅读(409) 评论(0) 推荐(0) 编辑
摘要:一、MapTask工作机制 二、Reduce Task 阅读全文
posted @ 2020-09-08 00:05 市丸银 阅读(263) 评论(0) 推荐(0) 编辑
摘要:一、需求分析 1、需求 a、输入文件 0000001 Pdt_01 222.8 0000002 Pdt_05 722.4 0000001 Pdt_02 33.8 0000003 Pdt_06 232.8 0000003 Pdt_02 33.8 0000002 Pdt_03 522.8 0000002 阅读全文
posted @ 2020-09-07 22:45 市丸银 阅读(180) 评论(0) 推荐(0) 编辑
摘要:一、过程 1、进行排序(自定义Hadoop序列化) 2、进行分组 二、语法 1、自定义分组,继承WritableComparator 2、创建无参构造参数 目的:将比较对象的类传给父类 super(GroupBean.class, true); 注意: a、GroupBean.class是Hadoo 阅读全文
posted @ 2020-09-07 22:43 市丸银 阅读(146) 评论(0) 推荐(0) 编辑
摘要:一、概述 1、Combiner是MR程序中Mapper和Reducer之外的一种组件 2、Combiner继承Reducer 3、Combiner在每个Map Task的节点上运行, Reducer接收全局的Mapper结果 4、Combiner对每个Map Task的输出进行局部汇总,减少网络传输 阅读全文
posted @ 2020-09-07 11:54 市丸银 阅读(257) 评论(0) 推荐(0) 编辑
摘要:一、需求分析 1、需求 手机号136、137、138、139开头都分别放到一个独立的4个文件中,其它开头的放到一个文件中 2、分析 a、分区 继承 Partitioner b、排序 实现 WritableComparable 二、具体代码(结合上篇博客) 1、自定义Haoop序列化类、排序 pack 阅读全文
posted @ 2020-09-07 10:16 市丸银 阅读(158) 评论(0) 推荐(0) 编辑
摘要:一、需求分析 1、需求 按照流量降序排序 2、分析 a、原文件的总流量是value,排序是按照key进行排序的,因此需要把 value -> key b、自定义Hadoop序列化类,(需要有排序功能) 实现 WritableComparable 二、代码 1、自定义Hadoop序列化,实现Writa 阅读全文
posted @ 2020-09-07 09:41 市丸银 阅读(277) 评论(0) 推荐(0) 编辑
摘要:一、概述 1、MapTask和ReduceTask均会对数据按照key进行排序,这是Hadoop的默认行为。任何应用程序中的数据均会被排序,而不管逻辑上是否需要,默认排序是按照字典顺序排序,方法为:快速排序 2、MapTask,在什么时候排序? a、环形内存缓冲区,快速排序,溢出到磁盘 b、所有数据 阅读全文
posted @ 2020-09-07 08:57 市丸银 阅读(134) 评论(0) 推荐(0) 编辑
摘要:默认分区:HashPartition 影响因素:key.hashcode()、NumReducerTask 一、基础 1、目的 Reducer处理的结果按不同的条件,存储在不同的文件中 2、语法 a、自定义分区,继承Partitioner b、分区在mapper后reducer前,因此数据类型和ma 阅读全文
posted @ 2020-09-05 10:20 市丸银 阅读(157) 评论(0) 推荐(0) 编辑
摘要:一、概念 Map方法处理之后,Reduce方法处理之前,数据处理过程过程被称为shuffle,又称洗牌 待续 阅读全文
posted @ 2020-09-04 22:57 市丸银 阅读(169) 评论(0) 推荐(0) 编辑
摘要:无论是HDFS还是MapReduce在处理小文件时,都要消耗大量内存,效率低 一、回顾 1、HDFS har,对外对应一个NameNode,对内对应多个文件 2、MapReduce CombineTextInputFormat,分为虚拟存储过程和切片过程 虚拟存储过程和切片过程都要和最大值做比较 改 阅读全文
posted @ 2020-09-04 17:45 市丸银 阅读(291) 评论(0) 推荐(0) 编辑
摘要:一、需求分析 1、文件 hadoop is ok hadoop not ok java is fun php is ok php is pretty python is all go is new 2、需求 对上述文件中每个单词出现的数量进行统计,2行数据一个切片 3、分析 与传统的WordCoun 阅读全文
posted @ 2020-09-04 11:19 市丸银 阅读(277) 评论(1) 推荐(0) 编辑
摘要:一、需求分析 1、文件 hadoop is ok hadoop not ok java is fun php is ok php is pretty python is all 2、需求 统计输入文件中每一行的第一个单词相同的行数 3、分析 每一行第一个单词的数量,只能用KeyValueTextIn 阅读全文
posted @ 2020-09-04 10:49 市丸银 阅读(226) 评论(0) 推荐(0) 编辑
摘要:一、TextInputFormat 1、TextInputFormat是默认的FileInputFormat的实现类。2、按行读取每条记录。3、键:存储该行在整个文件中起始字节偏移量,LongwWritable类型4、值:这行的内容,不包含任何行终止符(换行符和回车符),Text类型 注意:键的值: 阅读全文
posted @ 2020-09-03 22:40 市丸银 阅读(223) 评论(0) 推荐(0) 编辑
摘要:一、核心代码(依托于自定义的WordCount) 1、位置 在设置输入和输出路径前 2、代码 // 设置 job.setInputFormatClass(CombineTextInputFormat.class); CombineTextInputFormat.setMaxInputSplitSiz 阅读全文
posted @ 2020-09-03 22:10 市丸银 阅读(516) 评论(0) 推荐(0) 编辑
摘要:一、FileInputFormat切片机制 1、简单的按照文件长度进行切片 2、切片大小,默认值为BlockSize 3、切片时不考虑整体数据,而是逐个针对单一文件切片 二、CombineTextInputFormat切片机制 A、产生原因: 处理大量单独的小文件,每个小文件都会产生一个MapTas 阅读全文
posted @ 2020-09-03 21:36 市丸银 阅读(329) 评论(0) 推荐(0) 编辑
摘要:1、区分 数据块: 物理数据切片: 逻辑 2、决定机制 1、一个Job的Map阶段并行度(数量)由客户端提交Job时的切片数量决定2、一个切片对应一个MapTask3、默认情况下,切片大小==BlockSize(128M)4、切片时不考虑数据集整体性,而是针对每个文件单独切片总结:MapTask的数 阅读全文
posted @ 2020-09-03 17:09 市丸银 阅读(338) 评论(0) 推荐(0) 编辑
摘要:因工作需要 由python工程师->java工程师 也算圆了大学时的梦想 一、Bean // 依赖 mybatis mybatis-plus @TableName("tp_abcdr") @Data @NoArgsConstructor @JsonInclude(JsonInclude.Includ 阅读全文
posted @ 2020-09-03 15:53 市丸银 阅读(142) 评论(0) 推荐(0) 编辑
摘要:一、需求 统计每一个手机号耗费的总上行流量、下行流量、总流量 二、分析 1、输入内容 1 13736230513 192.196.100.1 www.atguigu.com 2481 24681 200 2 13846544121 192.196.100.2 264 0 200 3 13956435 阅读全文
posted @ 2020-09-03 14:44 市丸银 阅读(197) 评论(0) 推荐(0) 编辑
摘要:一、优点 1、紧凑:节省内存 2、快速:读取速度快 3、可扩展:随着协议升级 4、互操作:支持多语言交互 二、Bean对象实现序列化 1、步骤 a、必须实现Writable接口 b、必须有空参构造,反序列化时,反射调用 c、重写序列化方法 d、重写反序列化方法 e、序列化方法和反序列化方法参数顺序要 阅读全文
posted @ 2020-09-03 08:00 市丸银 阅读(216) 评论(0) 推荐(0) 编辑
摘要:Java类型 Hadoop Writable类型 boolean BooleanWritable byte ByteWritable int IntWritable float FloatWritable long LongWritable double DoubleWritable String 阅读全文
posted @ 2020-09-03 07:08 市丸银 阅读(293) 评论(0) 推荐(0) 编辑
摘要:一、前提 1、创建Maven项目 2、导入依赖 <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>RELEASE</version> </dependency> < 阅读全文
posted @ 2020-09-02 22:21 市丸银 阅读(211) 评论(0) 推荐(0) 编辑
摘要:1、右击鼠标--选中Edit '类.main()' 2、添加参数--apply--ok 阅读全文
posted @ 2020-09-02 22:20 市丸银 阅读(447) 评论(0) 推荐(0) 编辑
摘要:一、概述 1、概念 是一个分布式运算程序的编程框架 2、核心功能 业务逻辑代码和自带默认组件 二、MapReduce的优缺点 1、优点 易于编程、良好的扩展性、高容错性、适合PB级以上海量数据的离线处理 2、缺点 不擅长实时计算、不擅长流式计算、不擅长依赖关系的计算 三、核心思想 1、MapRedu 阅读全文
posted @ 2020-09-02 17:24 市丸银 阅读(145) 评论(0) 推荐(0) 编辑
摘要:含义:快照不会复制所有文件,而是记录文件变化 # 1.开启指定目录的快照功能 hdfs dfsadmin -allowSnapshot 路径 # 2.对目录创建快照 hdfs dfs -createSnapshot 路径 # 3.指定名称创建快照 hdfs dfs -createSnapshot 路 阅读全文
posted @ 2020-09-02 16:30 市丸银 阅读(350) 评论(0) 推荐(0) 编辑
摘要:注意:HDFS很少删除数据 1、打开文件 vim etc/hadoop/core-site.xml 2、编辑文件 # 1 代表1分钟 <property> <name>fs.trash.interval</name> <value>1</value> </property> # 修改回收站访问用户 阅读全文
posted @ 2020-09-02 13:26 市丸银 阅读(340) 评论(0) 推荐(0) 编辑
摘要:1、scp 一个集群内 传递数据 scp -r a.txt tom@wt3:/ # 推 scp -r tom@wt2:/abc.txt /tmp # 拉 scp -r tom@wt1:/a.txt tom@wt3:/tmp 2、 distcp 两个集群 传递数据 bin/hadoop distcp 阅读全文
posted @ 2020-09-02 09:19 市丸银 阅读(185) 评论(0) 推荐(0) 编辑
摘要:1、原因: 小文件不适合储存在Hadoop中,因为都会占用NameNode内存的元数据(相当于目录), 无论小文件的大小都会占用一个DataNode块(128M) 2、解决方案 HDFS存档文件或HAR文件,对内是一个一个独立的文件,对NameNode是一个整体,减少NameNode的内存 3、实操 阅读全文
posted @ 2020-09-01 23:55 市丸银 阅读(247) 评论(0) 推荐(0) 编辑
摘要:一、过程 1、修改配置文件 vim etc/hadoop/hdfs-site.xml <property> <name>dfs.datanode.data.dir</name> <value>file:///${hadoop.tmp.dir}/dfs/data1,file:///${hadoop.t 阅读全文
posted @ 2020-09-01 23:42 市丸银 阅读(322) 评论(0) 推荐(0) 编辑
摘要:一、白名单 1、在NameNode节点,创建dfs.hosts,并添加白名单主机名 cd /opt/module/hadoop-2.7.7/etc/hadoop/ vim dfs.hosts# 内容wt1wt2wt3 2、在NameNode的hdfs-site.xml配置文件中增加dfs.hosts 阅读全文
posted @ 2020-09-01 23:09 市丸银 阅读(303) 评论(0) 推荐(0) 编辑
摘要:1、克隆机器 克隆 wt3 获取 wt5 2、修改ip和hostname 3、添加hosts 所有节点(可以用scp) 4、删除 data/ 和 logs/ 5、source一下配置文件(简单) source /etc/profile 6、配置ssh 目的:wt3 和 wt5 无密登录a、wt3和w 阅读全文
posted @ 2020-09-01 22:25 市丸银 阅读(118) 评论(0) 推荐(0) 编辑
摘要:1、打开文件(具体路径,懂得都懂,不懂的看前面) vim hdfs-site.xml 2、修改配置文件 <property> <name>dfs.namenode.heartbeat.recheck-interval</name> <value>300000</value> </property> 阅读全文
posted @ 2020-09-01 17:37 市丸银 阅读(249) 评论(0) 推荐(0) 编辑
摘要:一、目的 每个目录下的数据完全相同,增强可靠性 二、配置 1、停止集群 sbin/stop-yarn.sh sbin/stop-dfs.sh 2、删除所有节点的文件 rm -rf data/ logs/ 3、配置hdfs-site.xml文件 <property> <name>dfs.namenod 阅读全文
posted @ 2020-09-01 12:33 市丸银 阅读(213) 评论(0) 推荐(0) 编辑
摘要:一、基础 在安全模式下,不能对节点进行写操作 二、命令 hdfs dfsadmin -safemode get # 查看安全模式的状态 hdfs dfsadmin -safemode enter # 进入安全模式 hdfs dfsadmin -safemode leave # 脱离安全模式 hdfs 阅读全文
posted @ 2020-09-01 11:37 市丸银 阅读(291) 评论(0) 推荐(0) 编辑
摘要:一、将SecondaryNameNode中数据拷贝到NameNode存储数据的目录 1、制造故障 # 1. 杀死进程 kill 9 NameNode进程 # 2. 删除NameNode文件rm -rf /opt/module/hadoop-2.7.7/data/tmp/dfs/name/* 2、拷贝 阅读全文
posted @ 2020-09-01 09:58 市丸银 阅读(490) 评论(0) 推荐(0) 编辑
摘要:一、CheckPoint的触发条件 1、间隔固定时间 2、记录达到一定的次数 二、配置文件 vim hdfs-site.xml <!--checkpoint时间--> <property> <name>dfs.namenode.checkpoint.period</name> <value>3600 阅读全文
posted @ 2020-09-01 07:51 市丸银 阅读(428) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示