- 博客(57)
- 收藏
- 关注
原创 企业大数据CDH集群安全----sentry
Sentry安装1、cm中选择添加服务,选择sentry2、选择要安装sentry的主机3、配置数据库HDFS配置开启启动访问控制列表,选中打勾开启检查HDFS权限服务开启sentry服务hive配置修改hive配置参数,搜索sentry-site添加参数搜索sentry,sentry服务选择sentry搜索Hive Impersona...
2022-04-24 13:58:39
2164
原创 小时级实时数据仓库构建的开发流程
一. 小时级实时数据仓库构建的开发流程1、找到数据流(done)2、将数据源进行有序化排序处理,模拟最真实的微博数据流的真实数据的生产过程。3、接收微博数据流数据4、转发到kafka集群5、kafka集群的搭建与运维(done)6、消费kafka形成小时级的微博数据文件7、将小时级文件定期、自动化load到小时级微博数据分区表二小时级实时数据仓库构建的详细开发过程1、找到数据流(done)2、将数据源进行有序化排序处理,模拟最真实的微博数据流的真实数据的生产过程。
2021-11-23 23:21:46
291
原创 redis
redis概览 是一个单进程单线程模型的基于内存的高性能的key-value内存型数据库 支持数据的持久化,提供string,list,set,zset(sortedset),hash等数据结构的存储,支持主从备份,3.x后分布式布署操作原子性,丰富的实用特性,如订阅-发布模式(可替换Kafka),生产者消费者模式,key过期等常用易用的模式 主要场景是加速客户端访问速度或其它要加速提效的功能点,做一些缓存或限时任务等 java操作redis,加入jedis依赖
2021-11-18 23:29:13
172
原创 Kafka与Streaming
一丶Kafka应用 鉴于kafka在实际使用时,绝大多数应用场景均为Producer和Consumer的API配合使用,故在此只介绍这两种API操作方法,其它的Connector和Streams还有admin可以视自身情况自行学习。 1.java版实现步骤创建maven项目(done)加入kafka依赖producer push message实现consumer pull message实现效果测试加入依赖<dependency> ...
2021-11-17 23:48:21
128
原创 Kafka
kafka概念介绍: 吞吐量:单位时间内处理的数据量。讲求的是单位时间内处理的数据量要大 Zookeeper是什么: 概念说明:zk是分布式环境下的第三方协同服务,帮助分布式系统,比如存储、计算、调度等均需要协同服务 特点特征:简单、易使用、高效、稳定 应用场景:核心是要解决一致性问题 分布式环境下的命名一致性问题 分布式服务环境下的高可用性问题 HA问题:high available 核心还是一个选举策略问题 代码
2021-11-16 23:00:49
104
原创 SparkStreaming
SparkStreaming1.概念说明:是一个微批处理的实时计算的框架原理:是把输入数据以某一时间间隔批量的处理,当批处理间隔缩短到秒级时,即可用于处理实时数据流2.特点特征:可以和spark core、sparksql等无缝集成,支持从多种数据源获取数据, 包括kafka,Flume,Twitter、ZeroMQ、Kinesis以及TCP sockets,然后使用诸如map,reduce,join等高级函数进行复杂的算法运算,最后存储到hdfs文件系统,数据库等;3.应用场景
2021-11-15 23:12:50
95
原创 sparksql
sparksql:Spark SQL是Spark处理数据的一个模块专门用来处理结构化数据的模块,像json,parquet,avro,csv,普通表格数据等均可。与基础RDD的API不同,Spark SQL中提供的接口将提供给更多关于结构化数据和计算的信息,并针对这些信息,进行额外的处理优化操作方式说明: SparkSql shell:类似于hive shell DataFrames API:最早专为sql on spark设计的数据抽象,与RDD相似,增加了...
2021-11-14 23:29:51
1435
原创 spark常用算子
1.概述指事物(数据或函数)从一个状态到另外一个状态的过程抽象。实质就是映射,就是关系,就是变换算子的重要作用算子越少,灵活性越低,则实现相同功能的编程复杂度越高,算子越多则反之MapReduce与 Spark算子比较MapReduce只有2个算子,Map和Reduce,绝大多数应用场景下,均需要复杂编码才能达到用户需求。Spark有80多个算子,进行充分的组合应用后,能满足绝大多数的应用场景。算子分类1 转换算子此种算子不触发提交作业,只有作业被提交后才会真正启动.
2021-11-12 22:19:44
209
原创 spark
1、spark架构设计相关名词术语解释1.RDD弹性分布式数据集,数据集在spark上的一种抽象只读,可分区的分布式数据集合一个RDD 包含多个分区Partition2.PartitionPartition 类似hadoop的Split中的block划分依据很多:hash分区、范围分区、也可自己定义一个partition交给一个task去计算处理3.算子op,即为映射、关系、变换两大类:transformation和action4.tansformation类算子延
2021-11-12 00:14:37
1624
原创 scala集合与Spark
一丶scala集合collection1 Scala List(列表) 元素以线性方式存储,集合中可以存放重复对象。2 Scala Set(集合) 集合中的对象不按特定的方式排序,并且没有重复对象。3 Scala Map(映射) KV对存储4 Scala 元组 元组是不同类型的值的集合5 Scala Option 表示有可能包含值的容器,也可能不包含值。6 Scala Iterator迭代器 迭代器不是一个容器,更确切的说是逐一访问容器内1.List概念:类似数组,内容类型相同,通过泛
2021-11-11 00:05:01
166
原创 scala初识
scala特点:一种纯面向对象的语言,每个值都是对象1、基本概念对象:类的一个具体实例,包含属性和方法类:类是对象的抽象,对象是类的一个实例方法:描述类的一个功能/行为能力,一个类可以有多个方法属性:即为每个对象拥有的自身的实例变量集合,需通过赋值来创建真正的属性值2、基本语法区分大小写类名首字母大写方法名首字母小写,驼峰命名程序文件名 规范的写法应与类名或对象名一致,一 .scala 结尾主程序入口 def main(args: Array[String].
2021-11-09 23:19:41
118
原创 spark+项目总结
做项目基本流程 1.梳理数据流程 2.解决关键性问题 3.串联整个流程过程即标准化以及正式上线解决关键性问题 对比差异点 数据的文件组织形式不同 数据的格式不同 相同点 数据流程一样 数据目标也是一样曝光 Exposure 广告领域专业术语...
2021-11-09 00:26:09
1523
原创 基于海量微博数据的仓库构建与舆情热点挖掘项目总结
一、mysql存储引擎 innodb 有事务,在操作性能上略低于myisam myisam 无事务,在操作性能是哪个比较高,高于innodb 二、如何证明数据挖掘的效果是准确ok的,可以被信任采纳的 直接证明 间接证明 抽样检查 三、一个高级工程师需要具备的素质 一专多能 工作过程当中,往往都是有工作交叉的 四、maven的项目打包 项目打包分类 可运行jar,即rennable jar All in
2021-11-07 22:41:02
208
原创 数据分析项目开发细节
一.分词UDF编写分词器c/c++ICTCLASJavaansj分词(简单易用)hanLP分词mmsegIK分词jieba分词PaoDing分词天亮分词二.anjs分词器应用集成步骤创建maven项目,导入hadoop-cli依赖,ansj依赖jar包创建一个类,指定要分词的句子采用nlp分词,具备(用户自定义词典/数字识别/人名识别/机构名识别/新词发现)功能将分词结果返回给一个Term类型的集合变量遍历分词完成的集合,用stringbuilder保存,词之间
2021-11-05 00:01:48
122
原创 开发细节和风险控制
一、开发细节与风险控制 开发细节当中及伴随着各种各样的风险,并要及时反馈和处理风险,如果工作量评估、即使难度评估、人员变更、需求变更等等,故我们将两者放在一起,不可拆分1.开发细节 共九个开发模块1.1.确定源数据文件集合 步骤拆分 来源渠道 自从写网络爬虫采集:研发成本高、不是本职工作 公开数据集:五研发成本,公...
2021-11-03 23:07:43
113
原创 bigdata_舆情挖掘项目
一.公司项目开发特点:标准的项目开发的时间配比开发前工作:开发=7:3互联网公司招人用人做项目的潜规则招3个人,干5个人的活,给4个人的钱。项目需求概述解决什么问题用户需求->系统需求输出:prd,产品需求文档甲方自己写:此要求甲方比较专业乙方自己写:甲方口述需求,乙方进行整理。输入:甲方的工作人员表达的需求内容二.项目需求概述 1.概念:做什么事情(宏观描述)为什么要做(讲清楚原因和价值)从业务逻辑角度,讲清楚要如何做(微观细节说明,产出prd文档,即..
2021-11-02 23:02:03
135
原创 中小型数据仓库项目的标准开发流程
中小型数据仓库项目的标准开发流程以数据流来驱动项目开发以已下载微博数据ETL项目为例1、基于定的微博数据目录,拿到该目录下所有的输入数据的文件路径。(技术问题done)2、基于文件路径,读取文本文件的数据。3、解析读取出来的文件数据,成为结构化数据-微博博文对象抽象类-ContentPojo,最终获取对应的对象集合。(技术问题done)4、解析读取出来的文件数据,成为结构化数据-用户对象抽象类-UserPojo, 最终获取对应的对象集合。(技术问题done)5、将两个抽象的对象集合,进行文本化
2021-11-01 21:40:20
366
原创 已采集数据ETL项目
1. 常见的数据格式:Txt,文本行html,网页,超文本语言xml,是html的超集,是一种自定义标记标签型格式Json Key:value也可以key:value的数组2.采集微博数据ETL项目:数据输入与输出输入(两个类别的文件集合)房地产评论主题下的对应的用户基本信息文件集和评论内容文件集,两者之间是通过用户id关联的。通过一定的Java程序设计做数据解析、结构化、各自合并成一个文件即可方便load到hive中。输出(两张表,一个用户表,一个评论内容表)将两...
2021-10-30 22:29:11
450
原创 Hive企业高级应用
一.数据仓库的架构设计数据仓库的主要工作就是ETL ( Extract-Transform-Load)1.2数据架构架构原则:先水平,再垂直数据架构分三层:源数据落地区: (SDF source data file)数据仓库层: DW Data WareHouse数据集市层: DM Data Market数据仓库层进一步分三层源数据层:DWB Data WareHouse Base细节数据层:DWD Data WareHouse汇总数据层:DWS Data War
2021-10-28 23:00:40
597
原创 hive总结回顾
UDAF继承UDAF内部定义一个静态类,实现UDAFEvaluator接口实现init,iterate,terminatePartial,merge,terminate五个方法编写代码完成后install打包Rz -bye 上传到本地Hdfs dfs -put -f **** * /**/**上传到hdfsAdd jar hdfs:// jar包所在路径Create temporary function 函数名称 as ‘主类路径’Hive sql中调用udaf函数
2021-10-27 23:50:06
304
原创 Servlet--跳转
相对定位&绝对定位绝对定位:加/是绝对定位,绝对定位是定位到当前项目 webapps\当前项目相对定位:不加/是相对定位,相对于当前请求,即当请求为/a/b/c的时候,到达的这个java文件,在这个文件中的相对环境就是/a/b,也就是说发送的所有相对路径的请求都要加上/a/b的前缀,即当请求d时,就等于是请求/a/b/dEL:最原始的JSP 在html页面中嵌入<% java语句 %> 但是 权限太大,功能太强 ,不符合MVC模式的理念 因为MVC应该较轻量级,较简单才.
2021-08-19 21:20:03
80
原创 Servlet
什么是Servlet采用JAVA语言编写的服务器端程序,运行在web服务器中的servlet容器中,主要功能是提供请求\响应的web服务模式,生成动态web内容。servlet的优点:1.较好的可移植性,无需修改代码就可以部署在多种不同类型的web服务器上。2.执行效率高,Servlet针对每个请求创建一个线程执行,有更短的响应时间。3.功能强大,可以与web服务器进行交互4.使用方便5.可扩展性强servlet生命周期可以分为加载、创建、初始化、处理客户请求、卸载1.加载:容器通过类加载
2021-08-18 22:59:11
85
原创 jQuery
1、jQuery css() 方法(1)、jQuery css() 方法是什么css() 方法设置或返回被选元素的一个或多个样式属性。(2)、返回 CSS 属性如需返回指定的 CSS 属性的值,请使用如下语法:css("propertyname");$("p").css("background-color");(3)、设置CSS属性如需设置指定的 CSS 属性,请使用如下语法:css("propertyname","value");$("p").css("backgr
2021-08-16 08:44:40
87
原创 js--节点,BOM,定时器
节点操作:Node类型Document类型Element类型Text类型——文本类型Comment类型 —— 注释类型节点之间的关系节点之间的关系就是嵌套关系(父子关系)、并列关系(兄弟关系)。注意区分节点与元素节点之间的区别。父节点--parentNode父元素节点--parentElement子节点--childNodes:标签节点、文本节点、注释节点 得到的是伪数组子元素节点--children :标签节点第一个子节点--firstChild:文本第一个子.
2021-08-13 23:17:49
102
原创 js--DOM操作、事件
根据ID返回单个DOM对象vardv1=document.getElementById('a');根据class属性获取,返回伪数组,就算根据class只获得了一个对象,也要放在伪数组中vardv2=document.getElementsByClassName('c');得到伪数组,想要操作标签的DOM对象,必须先通过[下标]获取DOM再操作根据标签名获取,返回伪数组,同上vardivs=document.getElementsByTagName('div');...
2021-08-12 22:06:40
94
原创 JavaScript数组,函数和对象
JavaScript数组,函数和对象JavaScript:数组:通过数组字面量创建数组var arr2 = [1, 3, 4];length获取数组元素个数;通过更改length属性进行数据删除nums.length = 3;删除最后一个元素 nums.pop();尾部添加nums.push();获取数组元素:arr[index];'遍历:for(var i=0; i<arr.length;i++);跟java不相同的是,可以添加元素...
2021-08-11 21:37:28
79
原创 js--简介
JavaScript是什么1、JavaScript的历史Netscape(网景)在最初将其脚本语言命名为LiveScript,是布兰登.艾克发明的。后来Netscape在与Sun合作之后将其改名为JavaScript。JavaScript最初受Java启发而开始设计的,目的之一就是“看上去像Java”,因此语法上有类似之处,一些名称和命名规范也借自Java。JavaScript与Java名称上的近似,是当时Netscape为了营销考虑与Sun微系统达成协议的结果。Java和JavaScript的关系
2021-08-10 21:25:51
129
原创 css-盒子模型
盒子模型之外边距(1)、外边距margin属性用于设置外边距。 设置外边距会在元素之间创建“空白”, 这段空白通常不能放置其他内容。margin-top:上外边距margin-right:右外边距margin-bottom:下外边距margin-left:上外边距margin:上外边距 右外边距 下外边距 左外边取值顺序跟内边距相同。(2)、外边距实现盒子居中可以让一个盒子实现水平居中,需要满足一下两个条件:1、必须是块级元素。2、盒子必须指定了宽度(widt
2021-08-10 00:13:04
71
原创 前端--css
CSS初识:样式表:内部样式表内嵌式是将CSS代码集中写在HTML文档的head头部标签中,并且用style标签定义,其基本语法格式如下:<head><style type="text/CSS"> 选择器 {属性1:属性值1; 属性2:属性值2; 属性3:属性值3;}</style></head>总结:1. 语法中,style标签一般位于head标签中title标签之后,也可以把他放在HTML文档的任何地方。2. ty..
2021-08-08 18:10:05
261
原创 html--表单操作
列表标签:分为无序列表和有序列表无序列表的各个列表项之间没有顺序级别之分,是并列的。<ul><li>列表项1</li><li>列表项2</li><li>列表项3</li>......</ul>注意:1. <ul></ul>中只能嵌套<li></li>,直接在<ul></ul>标签中输入其...
2021-08-05 18:31:46
408
原创 前端--HTML
主要用的开发工具:编辑器、浏览器、photoshop。常用的前端编辑器有:dreamweaver、sublime、webstorm、Hbuilder、vscode浏览器:浏览器是网页显示、运行的平台,常用的浏览器有IE、火狐、谷歌、Safari和Opera等。称为五大浏览器。浏览器内核又可以分成两部分:渲染引擎和 JS 引渲染引擎。渲染引擎:它负责取得网页的内容(HTML、XML、图像等等)、整理讯息(例如加入 CSS 等),以及计算网页的显示方式,然后会输出至显示器或打印机。浏览.
2021-08-04 20:35:54
75
原创 JDBC--Java数据库连接
JDBC ---Java数据库连接通过JDBC操作数据库步骤第1步:注册驱动 (只做一次)第2步:建立连接第3步:创建执行SQL的语句第4步:执行语句第5步:处理执行结果第6步:释放资源常见错误链接超时导致1 IP不对2 端口不对3 服务没启动没有这个数据库1 查看是否拼写错误2 链接的是否是有该数据库的电脑(IP)都是说明 用户名和密码不正确导致1 用户名错误2 密码错误com.mysql.jdbc.D
2021-08-03 00:42:24
108
原创 JDBC简介及使用步骤
JDBC介绍我们之前学习MYSQL时,为了使用MYSQL服务,我们通常要使用客户端与MYSQL服务进行连接,然后才能输入SQL语句进行数据库的各种操作。客户端有命令行与图形界面2种。但是在更多的环境下,由我们人直接操作数据是很低效的,比如双11这种业务场景下,一秒中往往要在库中生成上千万甚至几亿条数据,靠人来手工操作是不现实的,只能依赖于程序进行这种高并发的操作。程序语言有多种,比如Java、Python、C/C++等,程序语言如果想执行SQL语句,也必须要先与数据库进行连接,数据库也有多种,比
2021-08-01 23:23:34
92
原创 Mysql行转列和链式查询
行转列思路:首先我们默认的情况 每个名字都输出两次,而最终结果只有一次名字,所以肯定是 以名字分组 group byselect * from test_9 group by name;对我们来说 ,id,课程,和分数都不需要了,只需要有名字 然后再把java和mysql放上去select name , 1 as java , 1 as MySQL from test_9 group by name;然后再使用聚合函数聚合(此处理解“聚合”,相当于把多行数据压扁成一行)多行转一行一.
2021-07-30 23:36:20
70
原创 Mysql--DDL
简单DDL:DDL : 数据库定义语言涉及的关键字 : create drop alteralter更改表名alter table 表名 rename 新表名;更改字段名alter table 表名 change 列名 新列名 数据类型;添加字段alter table 表名add 列名类型;删除字段alter table 表名 drop 列名;更改字段类型(尽量不要更改)alter table 表名 modify 列名 新数据类型;alter tabl
2021-07-29 22:30:44
539
原创 Mysql-CRUD
数据库有什么用数据要运算,必须先存储,Java中变量存储的数据,可以跨平台,因为JVM跨平台,但计算机存储的数据呢,不会跨平台,而数据库就可以解决操作系统之间的跨平台数据库是什么数据库,就是遵循一定数据格式的数据集合,可以认为它是对文件系统的改进。它解决了不同操作系统之间,数据格式的兼容性问题。也就是说,只要是同一个数据库的数据文件,即使是从Windows迁移到了Linux上,也可以正常处理的。关系型数据库和非关系型数据库区别:关系型数据库查询来数据,得到对象,而非关系型数据库,保存
2021-07-28 19:59:42
76
原创 JAVA--Lambda表达式、函数式接口、Stream API
Lambda表达式Lambda表达式是一种没有名字的函数,也可称为闭包,是Java 8 发布的最重要新特性。本质上是一段匿名内部类,也可以是一段可以传递的代码。还有叫箭头函数的...优点:是匿名内部类的简写方式,使代码更加简洁语法特点(参数,参数,参数...) -> {方法体}1 无参和多参,小括号必须写2 只有一个参数的时候,小括号可以不写3 如果只有一条语句,大括号也可以不写,并且语句结尾不需要 分号4 如果只有一条语句,并且也是返回值语句的话,return
2021-07-26 22:50:26
82
原创 JAVA--网络编程和正则表达式
网络编程概述:Java是 Internet 上的语言,它从语言级上提供了对网络应用程 序的支持,程序员能够很容易开发常见的网络应用程序。Java提供的网络类库,可以实现无痛的网络连接,联网的底层 细节被隐藏在 Java 的本机安装系统里,由 JVM 进行控制。并 且 Java 实现了一个跨平台的网络库,程序员面对的是一个统一 的网络编程环境。网络通信:计算机网络:把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规 模大、功能强的网络系统,从而使众多的计算机可以方便地互相传递
2021-07-25 21:33:14
195
1
原创 JAVA--多线程
创建线程有两种方式1、继承Thread类,并覆写run方法,run方法就等于是新线程中的main方法2、实现Runable接口,并实现run方法启动线程:手动调用线程对象的start()注意:不是调用run方法,而是调用start方法如果调用run方法,并不是启动线程的,只是一个单纯的方法调用调用start方法的时候,会自动开启新的线程并调用run()方法常用APIstart():启动线程的唯一方式setName():设置线程的名字,默认是Thread_0,Thread_1...ge
2021-07-23 00:13:03
97
原创 JAVA--多线程
程序进程线程区别: 程序是为完成特定任务、用某种语言编写的一组指令的集合。即指一 段静态的代码,静态对象。程序是静态的 进程是程序的一次执行过程,或是正在运行的一个程序。是一个动态的过程,有它自身的产生、存在和消亡的过程。进程作为资源分配的单位,系统在运行时会为每个进程分配不同的内存区域,进程是动态的 线程,进程可进一步细化为线程,是一个程序内部的一条执行路径。若一个进程同一时间并行执行多个线程,就是支持多线程的线程作为调度和执行的单位,每个线程拥有独立的运...
2021-07-21 21:36:22
64
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人