- 博客(128)
- 资源 (12)
- 收藏
- 关注
原创 [Hive]Hive表开启事务
限制条件:所有DML操作都是自动提交,尚不支持BEGIN,COMMIT,和ROLLBACK,计划在将来的版本中支持这些特性。 在第一个版本中只支持ORC文件格式。构建事务特性的初衷是可以使用任何存储格式,只要这些存储格式可以确定如何更新或删除基本记录(基本上,具有显式或隐式的行id即可),但到目前为止,仅完成针对ORC的集成工作。 默认情况下,事务被配置为OFF。有关配置值的讨论,请参见下面的配置部分。 要使用事务特性,表必须分桶。在同一系统中的不使用事务和ACID的表则无需分桶。外部表不能成为A
2021-02-02 11:33:55
1681
原创 [Hive]Hive的分析函数
目录1.Order by 注意点2.sum函数的作用范围3.ROWS BETWEEN4.常用的分析函数4.1 RANk、DENSE_RANK4.2 ROW_NUMBER4.3 SUM4.4 FIRST_VALUE、LAST_VALUE4.4 LAG、LEAD5.GROUPING SETS、GROUPING__ID6. CUBE7.ROLLUP1.Order by 注意点当ORDER BY后面缺少窗口从句条件,窗口规范默认是 RANGE BETWEEN
2021-01-27 17:28:04
774
原创 [数据仓库]Bill Inmon和Ralph Kimball方法论
数据仓库最早可以追溯到20世纪70年代,希望将业务处理系统和分析处理系统分成不同的层次。20世纪80年代出现TA2规范,明确把分析系统分为4个层次:数据获取、数据访问、目录、用户服务。1988年IBM第一次提出了信息仓库的概念:一个结构化的环境,支持用户管理其全部业务数据,并支持信息部门保证数据质量;抽象出基本组件:数据采集、转换、有效验证、加载、Cube开发等,基本明确了数据仓库的基本原理、框架结构以及分析系统的基本原则。1991年Bill Inmon编写了《Building the Dat...
2021-01-27 11:34:37
1787
原创 [数据仓库]我理解的数据中台
目录概述特点数据应用成熟度核心:让数据产生价值与传统数仓的区别技术架构建设思路自上而下自下而上概述数据中台不仅仅是一个技术栈,还是一种经营理念;需要利用数据中台理论提高企业的组织效率、协同效率、运营效率不仅仅是业务和技术聚在一起,业务提需求,技术画架构,然后开发实现,这样一定做不好数据中台,它首先一定要在组织架构上表现出来,有组织保障。同时技术需要工具承载;因此数据中台是方法论+组织+工具的集合;最后的表现形式为:数据+服务+解决方案+组织。特点.
2021-01-25 16:17:11
201
原创 [数据仓库]大数据体系下的工作者分类
经常听到周边的同事说,我是做大数据的;但是具体问到技术问题时却说工作中没有涉及到改方面。于是在别人眼中就无意中留下这种印象:“你技术很菜”、“你说了假话,你根本不是做大数据的”;其实广义的大数据行业包括很多细分的工作岗位,下面是我的理解的三种分类:大数据基础平台的维护、基础运维、优化 不过度关注业务、数据内容本身,重点是集群的稳定性、性能、易用性,技术上涉及底层源码,比如Hadoop、Spark,Hbase等,大数据底层框架的维护者。大数据生态开发、工程性开发、应用开发...
2021-01-22 11:09:43
196
原创 [数据仓库]数据仓库和数据库的区别
数据仓库和数据库数据仓库是面向主题的、集成的、稳定的,反映历史变化数据集合,用于分析场景,支持管理决策过程等。面向主题:在较高层次对企业的数据进行综合归并而进行的抽象概念。数据仓库都是基于某个明确主题,仅需要与该主题相关的数据,其他的无关细节数据将被排除掉 集成的:从不同的数据源采集数据到同一个数据源,此过程会有一些ETL操作;并保持数据的一致性、完整性、准确性、有效性 反映历史变化:关键数据隐式或显式的基于时间变化 相对稳定:数据仓库的数据一般只做添加不做更新:数据装入以后一般只进行查询操作
2021-01-22 11:02:49
154
原创 [linux]centOS 7.6 安装ntp
目录配置ntp服务器配置客户端NTP是网络时间协议(Network Time Protocol),它是用来同步网络中各个计算机的时间的协议。配置ntp服务器1.查看ntp是否安装rpm -qa |grep ntp2.安装ntp如果没安装ntp,执行以下命令进行安装yum install -y ntp ntpdate3.修改ntp配置文件vim /etc/ntp.conf添加修改上层时间服务器,如果能联通外网,则不需要修改,否则注释掉:#server 0.c
2021-01-21 10:58:27
1455
1
原创 [linux]centOS 7.6重新分配Home目录的大小
安装centOS 7.6后,自定义Home目录的大小。1.会用到的命令:df -h # 查看磁盘空间lsblk # 查看块设备详情fdisk -l # 查看分区详情lvremove\lvcreate # 逻辑卷删除/创建lvdisplay\vgdisplay\pvdisplay #查看逻辑卷/卷组/物理卷xfs_growfs # 加载xfs_growfs2.查看分区3.查看磁盘情况4.设置home目录fuser -...
2021-01-20 16:16:03
888
原创 [数据仓库]基于大数据的数仓和传统数仓的区别
基于大数据的数仓 随着新的应用场景(个性化推荐、用户画像、机器学习、数据分析)的出现,数据爆炸式增长,基于大数据的数仓应用而生,其特点是变化快,速度快、能处理海量数据,有实时需求;ER建模被弱化、DWS、DM采用维度建模;建模被弱化,更偏于混合建模,数据质量一般,重点在于响应需求速度快、灵活。更强调数据资产的重要性,一般到达一定规模,倾向与做数据治理(数据质量、数据安全、数据标准、数据血缘、主数据、元数据管理) 技术栈:HDFS、Hive、Hbase、Flume、Kafka、Flink、...
2021-01-15 09:16:19
2929
原创 [机器学习]推荐系统介绍
目录1 前言2 个性化推荐系统概述3 个性化推荐系统的常用算法3.1协同过滤推荐3.1基于关联规则的推荐4 个性化推荐系统的技术改进1 前言互联网的高速发展,促进了各行各业的发展,也为电子商务的发展提供了条件。电子商务让企业的销售和获客线下搬到了线上。人们不出门就可以很便捷地在网上购买他们喜欢的东西,提供了购物的效率。但是随着信息的增加,物品品牌和种类爆炸式增长,使消费者面对选择时难以抉择。因为这样的原因推荐系统横空出世,它一方面解决消费者面对选择时不知所措的尴尬,另一方面解
2020-12-30 16:53:07
366
原创 [机器学习]协同过滤算法的原理和基于Spark 实例
目录协同过滤协同过滤的类型协同过滤的评价方法冷启动问题Spark中协同过滤算法的实现方式协同过滤协同过滤,简称CF算法是一种借助"集体计算"的途径。它利用大量已有的用户偏好来估计用户对其未接触过的物品的喜好程度。其内在思想是相似度的定义。协同过滤常被应用于推荐系统。这些技术旨在补充用户—商品关联矩阵中所缺失的部分。其中用户和物品由一小部分已知因素描述,用这些因素可以预测缺失值。协同过滤的类型在基于用户的协同过滤(User CF )方法的中,如果两个用户表现出相似.
2020-12-30 16:45:41
1157
原创 [机器学习]关联挖掘算法Apriori和FP-Growth以及基于Spark 实例
目录Apriori 算法FP-Growth算法算法原理步骤1 统计各个商品被购买的频次步骤2 构建FP树步骤3 频繁项的挖掘阅读本文需要了解关联挖掘的基本知识,了解关联挖掘的基本原理,参考《[机器学习]关联挖掘介绍》。Apriori 算法Apriori算法就是根据有关频繁项集特性的先验知识而命名的。它使用一种称作逐层搜索的迭代方法,k-项集用于探索(k+1)-项集。首先,找出频繁1-项集的集合.记做L1,L1用于找出频繁2-项集的集合L2,再用于找出L3,...
2020-12-24 10:04:27
737
原创 [Spark]Spark常用的优化方法
目录优化目的Spark-core的优化Yarn 模式下动态资源调度Shuffle阶段调优MapPartitions分区替换map计算结果使用foreachPartitions替代foreach设置num-executors参数设置executor-memory参数设置executor-cores注意Collect的使用使用reduceByKey替换groupByKey数据倾斜将HDFS上的文本格式数据转换为Parquet格式数据Spark-sql.
2020-12-23 09:03:50
8049
1
原创 [Hbase]Hbase常用的优化方法
Hbase shell常用的维护命令集群命令help 查看Hbase的命令帮助 version 查看Hbase集群的版本 whoami 查看当前登录用户 status 查看集群的状态如:status ‘simple’;查看基本信息。status ‘detail’;查看详细信息。user_permision 查看用户的权限如:user_permision ‘username’Region命令assign手动让region上线 unassign手动让region下线 c...
2020-12-22 12:43:58
619
原创 [Hive]Hive常用的优化方法
Hive调优原则(1)保证map扫描的数据量尽量少减少map端扫描数量,需要控制待处理的表文件或中间文件的数据量尽量少。优化的方式如:Hive表文件使用高效的文件格式、Hive表文件使用合适的文件压缩格式、中间文件使用合适的文件压缩格式、利用列裁剪、利用分区裁剪、使用分桶。(2)保证map传送给reduce的数据量尽量小控制map传送给reduce的数据量,是指JOIN避免笛卡尔积、启动谓词下推、开启map端聚合功能。(3)保证map和reduce处理的数据量尽量均衡保证map...
2020-12-21 17:54:13
938
原创 [NLP]OpenNLP块检测器(Chunker)的使用
Chunker分块是将文章的内容分成句法相关的词组,如名词组、动词组,但不指定它们的内部结构,也不说明它们在主句中的作用。训练数据的输入格式如下:Rockwell NNP B-NPInternational NNP I-NPCorp. NNP I-NP's POS B-NPTulsa NNP I-NPunit NN I-NPsaid VBD B-VPit PRP B-NPsigned VBD B-VPa DT B-NPtentative JJ I-NPagreement NN I
2020-12-21 09:13:54
768
原创 [NLP]OpenNLP词形还原器(Lemmatizer)的使用
Lemmatizer词形还原,把用POS tagger标注格式的词还原为标注前的格式。如输入:Rockwell_NNP International_NNP Corp._NNP 's_POS Tulsa_NNP unit_NN said_VBD it_PRP或者,输入三列,第一列为原词,第二列为词性标注,第三列为lemma的词形He PRP hereckons VBZ reckonthe DT thecurrent JJ currentaccou
2020-12-21 08:59:40
1801
原创 [NLP]OpenNLP词性标注器的使用
目录Part-of-Speech Tagger模型训练词性标注Part-of-Speech Tagger词性标记器根据词本身和词的上下文标记单词的类型。OpenNLP POS标记器使用概率模型来预测标签集中词的类型。为了限制词的类型范围,可以使用字典来提高标记器的标记和运行时效率。常用的词性简写参考:https://www.ling.upenn.edu/courses/Fall_2003/ling001/penn_treebank_pos.html训练可以用以下带标签格.
2020-12-17 16:54:46
530
原创 [NLP]OpenNLP文档分类器的使用
目录Document Categorizer模型训练文档分类Document Categorizer文档分类程序可以将文本分类为预定义的类别。它基于最大熵框架。模型训练import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import opennlp.tools.doccat.DoccatModel;.
2020-12-17 16:50:14
658
原创 [NLP]OpenNLP命名实体识别(NameFinder)的使用
目录Name Finder模型训练命名识别Name Finder命名查找器可以检测文本中的命名实体和数字。为了能够检测到实体,命名查找器需要一个模型。模型依赖于它被训练的语言和实体类型。OpenNLP项目提供了许多预先培训过的名字查找模型,这些模型在各种免费的语料库上进行了培训。它们可以在我们的模型下载页面下载。要在原始文本中查找名称,必须将文本分成标记和句子。默认情况下,输入的训练数据中每行一个句子,句子内是经过tokenizer分词的词语。名称实体使用Span进行标记;输入.
2020-12-17 16:47:28
921
原创 [NLP]OpenNLP标记器的使用
目录Tokenizer模型训练句子分词TokenizerOpenNLP标记器将输入字符序列分段为标记。标记通常是单词、标点符号、数字等。标记化是一个两阶段的过程:首先,确定句子边界,然后识别每个句子中的标记。支持以下类型的分词器:Whitespace Tokenizer:空格标志器,以空格进行拆分Simple Tokenizer:一个字符类的Tokenizer ,相同字符类的序列为tokensLearnable Tokenizer: 基于检测标志边界的概率模型的最..
2020-12-15 09:04:23
529
原创 [NLP]OpenNLP语句检测器的使用
目录Sentence Detector模型训练语句检测Sentence Detector语句检测器,OpenNLP语句检测器可以检测标点字符是否标记了句子的结尾。在这个意义上,句子被定义为两个标点符号之间最长的空白字符序列。第一句和最后一句是对这条规则的例外。第一个非空白字符被假定为句子的开头,最后一个非空白字符被假定为句子的结尾。通常句子检测是在文本被分词之前完成的,但是也可以先执行分词,让句子检测器处理已经分词的文本。OpenNLP语句检测器无法根据句子内容识别句子边界。如.
2020-12-15 08:56:19
848
1
原创 [NLP]OpenNLP语言检测器的使用
目录Language Detector模型训练语言类型预测Language Detector语言检测器,属于分类范畴。即OpenNLP语言检测器根据模型的能力用ISO-639-3(国际语种代号标准)语言对文档进行分类。模型可以用最大熵模型(Maxent)、感知器(Perceptron)或朴素贝叶斯算法(Naive Bayes algorithms)训练。通过用n-gram算法在规范化文本的上下文中提取词汇,默认情况下,大小为1、2或3个字。通过扩展LanguageDetectorFact
2020-12-15 08:50:06
1109
原创 [NLP]OpenNLP Maven工程的依赖
目录OpenNLP Tools依赖OpenNLP UIMA Annotators 依赖OpenNLP Morfologik AddOn依赖OpenNLP Brat Annotator依赖OpenNLP Tools SNAPSHOT依赖Maven依赖,参考http://opennlp.apache.org/maven-dependency.htmlOpenNLP Tools依赖<dependency> <groupId>org.apache.ope.
2020-12-11 16:39:10
571
原创 [NLP]OpenNLP介绍
目录OpenNLP介绍OpenNLP执行步骤预训练模型OpenNLP介绍Apache OpenNLP库是一个基于机器学习的工具箱,用于处理自然语言文本。OpenNLP 支持大部分通用的NLP任务,例如分词、分句、词性标注、命名实体识别、分块、语法分析、语言检测、共指解析等。OpenNLP项目的目标是为上述任务创建一个成熟的工具箱。另一个目标是为各种语言提供大量的预构建模型,以及这些模型派生的带注释的文本资源。OpenNLP库包含多个组件,使之能够构建完整的自然语言处理管道。这些组
2020-12-11 16:33:29
1841
原创 [pdfbox]pdfbox的使用
目录概述开发环境pom.xml 依赖实例1.全文解析1.1 一次获取整个文件的内容1.2 分页获取文字的内容1.3 分页获取文字和图片2.区域解析概述Apache PDFBox 是遵循Apache License v2.0的Java开源类库。用于操作PDF文档,可以创建新PDF文档,维护现有的PDF文档,或者从PDF文档中提取内容,支持生成加密的PDF文件,以及对PDF文件进行数字签名。Apache PDFBox同时提供了一个命令行操作工具。Apache P.
2020-12-10 17:30:19
6823
2
原创 [机器学习]关联挖掘介绍
关联挖掘又称关联分析,就是在交易数据、关系数据或其他信息载体中,查找存在于项目集合或对象集合之间的频繁模式、关联、相关性或因果结构。如下是一个超市的几笔交易记录:中:TID代表交易流水号,Items代表一次交易的商品。相关概念:1、事务:每一条交易称为一个事务,例如示例1中的数据集就包含四个事务。2、项:交易的每一个物品称为一个项,例如Cola、Egg等。3、项集:包含零个或多个项的集合叫做项集,例如{Cola, Egg, Ham}。4、k−项集:包含k个项的项集叫做k...
2020-12-07 14:16:37
2397
原创 [Flink]Flink DataStream window join 和interval join
目录window joininterval joinwindow join窗口连接把两个流中相同窗口通过一个键值连接起来。然后,两边的元素被传递到用户定义的JoinFunction或FlatJoinFunction,在这里用户可以发出满足联接条件的结果。连接模型://StreamA:左流streamA .join(streamB)//StreamB:右流 .where(<key selector>)//where条件:左流的Key ....
2020-12-01 17:50:23
795
原创 [Flink]Flink的window介绍
概述窗口是处理无界面流的核心。窗口将流分成有限大小的“桶”,我们可以在这些桶上进行计算。窗口主要有两种,一种基于时间(Time-based Window),一种基于数量(Count-based Window)。本文档重点介绍如何在Flink中执行窗口化。窗口调用的一般结构如下所示。Keyed Windows表示带健值的流,而Non Keyed Windows表示不带健值的流。区别是带键的keyBy(…)调用window(),而不带键的流调用windowAll()。窗口的生命周期...
2020-12-01 15:10:59
550
原创 [机器学习]朴素贝叶斯原理和基于Spark 实例
朴素贝叶斯分类贝叶斯原理的由来:贝叶斯为了解决一个叫“逆向概率”问题写了一篇文章,尝试解答在缺乏太多可靠证据的情况下,怎样做出更符合数学逻辑的推测。逆向概率:逆向概率是相对正向概率而言。正向概率的问题很容易理解,比如我们已经知道袋子里面有 N 个球,不是黑球就是白球,其中 M 个是黑球,那么把手伸进去摸一个球,就能知道摸出黑球的概率是多少。这是在了解了事情的全貌再做判断。在现实生活中,我们很难知道事情的全貌。贝叶斯则从实际场景出发,提了一个问题:如果我们事先不知道袋子里面黑球和白球的比例,而是通过我
2020-11-30 09:56:10
520
原创 [Flink]Flink 的物理分区器
概述Flink通过流分区器StreamPartitioner来控制DataStream中的元素往下游的流向。Flink提供了8种StreamPartitioner:BroadcastPartitioner GlobalPartitioner RebalancePartitioner ShufflePartitioner RescalePartitioner ForwardPartitioner KeyGroupStreamPartitioner CustomPartitioner...
2020-11-28 14:38:10
394
原创 [机器学习]机器学习常用的模型评估方法
目录混淆矩阵正确率精确率召回率灵敏度伪阳性率特异度P-R曲线:F1-值ROC曲线AUC面积均方误差均方根误差平均绝对误差混淆矩阵 实际值\预测值 预测值 Positive Negative 实际值 Positive TP FN Negative FP
2020-11-27 16:19:53
1172
原创 [NLP]自然语言的处理步骤
NLP,Natural Language Processing 即自然语言处理。是人工智能的一个子领域,就是用计算机计算处理自然语言。进行自然语言处理一般需要以下步骤。获取语料预料,即语言材料,文本的集合成为语料库。在机器学习中,我们通常处理把用于模型训练的一行数据称为一个文本。但是日常中我们一般把一个文件称为一个文本,这个概念对初学者就很容易引起误解。比如处理数据是读入多个文件,但是经过预处理、特征工程后,这些文件可能被合并成一行,这时输入的一个文件不能成为一个文本,自然语言处理的文本概念是相对特
2020-11-27 11:01:05
2390
原创 [Flink]Flink常用的DataStream转换算子
目录3.1 Map3.2 FlatMap3.3 Filter3.4 KeyBy3.5 Reduce3.6 Fold3.7 Aggregations3.8 Window3.9 WindowAll4.0 Aggregations on windows4.1 Union4.2 Split4.3 select3.1 MapDataStream → DataStream一对一转换,即输入的记录和输出的记录相等。import org.apach.
2020-11-26 17:27:59
599
原创 [Flink]Flink DataStream API 概览
目录什么是 DataStream什么能被转化为流流式Flink程序的开发流程DataStream的数据源迭代数据流配置运行时参数什么是 DataStreamDatastream API的名称来自一个特殊的DataStream类,该类用于表示Flink程序中的数据集合。可以将它们视为可以包含重复项的不可变数据集合。这些数据可以是有界的,也可以是无界的,用于处理它们的API是相同的。注意:Flink 1.9版本后,流式API和批式API逐步进行合并,统一用流式API表示。
2020-11-23 17:15:39
268
2
原创 [Flink] Flink的应用场景
目录事件驱动型应用数据分析型应用数据管道型应用Flink 功能强大,支持开发和运行多种不同种类的应用程序。它的主要特性包括:批流一体化、精密的状态管理、事件时间支持以及精确一次的状态一致性保障等。事件驱动型应用事件驱动型应用是一类具有状态的应用,它从一个或多个事件流提取数据,并根据到来的事件触发计算、状态更新或其他外部动作。事件驱动型应用是在计算存储分离的传统应用基础上进化而来。在传统架构中,应用需要读写远程事务型数据库。相反,事件驱动型应用是基于状态化流处理来完成。在该设计中,
2020-11-23 09:58:39
421
1
原创 [Flink]Flink实时框架介绍
目录架构应用流状态时间分层API运维架构Flink是一个分布式数据流处理引擎,用于处理带状态的有边界或无边界数据流。可以部署在通用的分布式集群上,实现海量数据在内存上快速计算。无边界数据流:数据有产生标志但是没有结束标志。数据持续产生,因此需要连续地处理,只能通过一定的方法根据事件的产生和结束进行分割处理。有边界数据流:数据可以明确的产生开始和结束标志,处理时一般不需要顺序处理,因为有边界数据流一般是按顺序产生的,可以用批处理的方法进行处理。...
2020-11-23 09:40:10
617
1
原创 [linux]单网卡绑定多个IP
[linux]单网卡绑定多个IP配置默认网关:默认网关的文件:/etc/sysconfig/network 内容如下:其中test为主机名称NETWORKING=yesHOSTNAME=testGATEWAY=192.168.168.250或:NOZEROCONF=yesGATEWAY=10.230.17.1eth0对应的配置文件/etc/sysconfig/network-scripts/ifcfg-eth0内容如下:DEVICE=eth0BOO..
2020-09-24 00:42:29
269
原创 [linux] redhat 7 iptables 配置
RHEL 7系统中,firewalld防火墙取代了iptables防火墙。其实,iptables与firewalld都不是真正的防火墙,它们只是一种服务。iptables服务会把配置好的防火墙策略交由内核层面的netfilter网络过滤器来处理,而firewalld服务则是把配置好的防火墙策略交由内核层面的nftables包过滤框架来处理。防火墙会从上至下的顺序来读取配置的策略规则,在找到匹配项后就立即结束匹配工作并去执行匹配项中定义的行为(即放行或阻止)。如果在读取完所有的策略规则之后没有匹...
2020-09-23 23:33:43
3673
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅