自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(130)
  • 资源 (3)
  • 收藏
  • 关注

原创 idea本地运行MR配置报错

Exception in thread "main" java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO报错

2022-10-10 00:23:29 530 1

原创 数据仓库的分层

DWD存储的是两两关系DIM存储的是维度数据DWS存储的是汇总的数据STG:主要存储原始数据ODS:经过ETL过程的抽取、转换、加载后的标准化数据,比如:字段的统一,脏数据的去除,数据的归一化DWD:用于存放明细事实数据(如:GA领域的终端上下线数据、人物的活动位置数据)DIM:维表数据(如:虚拟身份注册信息)DWS:公共指标汇总数据(如:数据种类数、各自维度统计数据量)ADM:围绕某个特定业务或应用进行数据专项汇总,是基于CDM和ODS层的数据加工而来,在该层主..

2022-10-10 00:12:13 1366

原创 LINUX基础总结

1、常见环境变量PATH 决定了shell将到哪些目录中寻找命令或程序HOME 当前用户主目录HISTSIZE 历史记录数LOGNAME 当前用户的登录名HOSTNAME 指主机的名称SHELL 前用户Shell类型LANG 语言相关的环境变量,多语言可以修改此环境变量MAIL 当前用户的邮件存放目录PWD 当前目录2、变量需知a. 设定变量的格式为”a=b”,其中a为变量名,b为变量的内容,等号两边不能有空格;b. 变量名只能由英、数字以及下划线组成,而且不能以数字开头;c.

2021-09-18 07:47:33 264

转载 sql语句查询执行顺序

sql查询语句的处理步骤如下:--查询组合字段(5)select (5-2) distinct(5-3) top(<top_specification>)(5-1)<select_list>--连表(1)from (1-J)<left_table><join_type> join <right_table> on <on_predicate> (1-A)<left_table><apply_

2021-06-22 01:06:13 1127

原创 基站、WiFi、IP定位原理介绍与区别

一、基站定位基站包括移动、联通和电信基站。基站定位是通过移动通信的基站信号差异,通过当手机开机,关机,切换基站时都会向就近最优基站鉴权。因此,通过用户出现的基站位置来确认手机位置,另外处于同一基站范围内的,但处于范围中的不同扇区,也会标记。基站定位的准确度取决于定位地点附近所处的基站覆盖密度,如果基站多,定位则准确,如果是山区,基站少,则定位就不那么精确;LBS定位必须联网,手机处于SIM卡注册状态(飞行模式下开wifi和拔出SIM卡都不行)。原理:运营商蜂窝基站的位置信息都是固定的,通过接收一个或

2021-06-13 13:08:49 16892

原创 一文搞懂OLAP和OLTP的区别

2021-03-13 00:39:40 228

原创 Hive函数总结

函数分类系统内置函数,自定义函数系统内置函数查看内置函数show functions;查看函数用法hive> desc function max; OKmax(expr) - Returns the maximum value of exprTime taken: 0.013 seconds, Fetched: 1 row(s)展开详细说明hive> desc function extended xpath;OKxpath(xml, xpath).

2020-12-22 08:06:08 480

原创 Linux定时任务配置—小试牛刀

最近需要通过MapReduce统计数据的关联率,MapReduce已根据实际场景编写完毕,但需要每天根据新录入数仓的数据,重新配置路径。日复一日的机械性磨灭了激情,于是乎,我编写了一个定时自动获取当前日期的脚本进行更新配置文件,省去了每天繁琐的工作。先po上更新配置文件的脚本#!/bin/bashawk -F '=' 'BEGIN{time=systime()-86400*2; preDate=strftime(("%Y%m%d"),time); preDate2=strftime(("%

2020-07-30 20:30:17 213

原创 MapReduce根据不同要求将结果输出不同命名文件

MapReduce默认输出的文件命名为part-0000。日常业务开发情况需要根据不同的结果文件名,来辨认不同输出需求数据,因此,默认输出格式不足以满足需求。我们需要对MapReduce的文件输出做特殊的设置。一、job端 MultipleOutputs.addNamedOutput(job,"corpInfo",TextOutputFormat.class,Text.class,Text.class); MultipleOutputs.setCountersEn..

2020-07-22 21:39:20 640

原创 手机四码的科普以及业务应用场景

MAC:设备的硬件码IMSI:用户识别码,唯一对应SIM卡。原始卡的后四位是跟手机号一样的。补卡后会变。IMEI:设备识别码,唯一对应终端。但部分山寨厂商的批量机器IMEI是同一个。如果“用户数”统计的话:一般应用会倾向于用IMEI。如果有用户账户的话,可直接用账号统计并对应。“米聊”一开始是识别IMEI(应该是仿kik)自动生成帐号,但一用户多设备就麻烦了,最后还得归到用户账户系统里。一个是统计你正在使用它们的软件,统计用户数量,第二就是有针对性的记录你的IMEI号码平时多浏览什么内容,.

2020-06-16 22:33:28 9160

原创 HashMap遍历的三种方法

//最常规的一种遍历方法,最常规就是最常用的,虽然不复杂,但很重要,这是我们最熟悉的,就不多说了!! public static void work(Map<String, Student> map) { Collection<Student> c = map.values(); Iterator it = c.iterator(); for (; it.hasNext();) { System....

2020-06-12 10:16:32 311

原创 MapReduce如何从Map端获取数据源的路径

在Mapreduce流程中,在Map端常常遇到需要根据来自不同数据源的<key,value>,进行不同的操作。因此,经常需要获取到<key,value>的数据来源。获取文件名的大致流程为:Context(map函数里) → InputSplit → FileSplit → Path → String(file name)。ContextContext是Mapper的内部类,在Map或Reduce任务中跟踪task的状态,Context在Map端执行时携带上下文信息。可理解

2020-06-05 22:10:36 787

原创 Maven 基础教程以及安装步骤

概述Maven 是一个项目管理和整合工具 Maven 为开发者提供了一套完整的构建生命周期框架 Maven 简化了工程的构建过程,并对其标准化,它无缝衔接了编译、发布、文档生成、团队合作和其他任务Maven安装设置 Maven 环境变量(不清楚的自行查找资料)下载安装文件,选择最新稳定版本:http://maven.apache.org/download.htmlWindow...

2020-03-03 01:34:37 205

转载 ETL讲解(很详细!!!)

ETL是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程,目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析依据。ETL是BI项目重要的一个环节。 通常情况下,在BI项目中ETL会花掉整个项目至少1/3的时间,ETL设计的好坏直接关接到BI项目的成败。  ETL的设计分三部分:数据抽取、数据的清洗转换、数据的加载。在设计ETL的时候...

2020-02-12 23:54:55 770 1

原创 视图与基表的区别与联系

视图与基表的区别与联系1、视图是从一个或者多个基本表中导出的表,给用户使用的‘专用表’,是已经编译好的sql语句,而表不是;2、 视图没有实际的物理记录,不占用物理空间,而表相反。3、视图是查看表内容的窗口,是查看数据表的一种方法,视图可以不给用户接触表,使得用户不知道表结构,具有更大的安全性;4、视图只是逻辑概念的存在,只能由创建的语句来修改。而表可以随时对它进行修改。5、视图...

2020-01-17 09:22:02 13569

原创 华为云服务器初体验

初遇双十一当天没有购物,日常在牛客网刷面经,突然看到了学生购买华为云学生服务器可以享受以下优惠:云服务器12个月,学生价 99元,返现90元;云服务器6个月,学生价54元,返现50元;云服务器1个月,学生价9元,返现9元。其实一直都想都买一台云服务器,原因是在之前在本地pc端搭建分布式平台,由于性能约束,所以每次运行MapReduce时,耗时漫长。真是“众里寻他千百度,蓦然回首,在灯...

2019-11-17 14:57:19 649

原创 关于档案

一、提醒大学生:深刻重视档案,避免以后麻烦!大学毕业最痛苦的是搞不定档案和户口。户口,一般不会丢,大家都很当回事,毕竟身份证一丢,马上就要处理户口。但就是这个档案,却是很多人不当回事。但是只要你是活在中国的毕业大学生,你肯定就会碰到档案的事情。作为一个毕业了5年左右的毕业生,回头去看档案,毫无疑问,是相当重要的,如果有机会重来,我自己一定会这“档”子事搞好。如果你毕业N年后不想像我现在烦躁不已...

2019-11-15 20:11:51 239

原创 海量数据处理题目汇总

1.两个文件合并的问题:给定a、b两个文件,各存放50亿个url,每个url各占用64字节,内存限制是4G,如何找出a、b文件共同的url?1)主要的思想是把文件分开进行计算,在对每个文件进行对比,得出相同的URL,因为以上说是含有相同的URL所以不用考虑数据倾斜的问题。详细的解题思路如下:a、可以估计每个文件的大小为5G*64=320G,远大于4G。所以不可能将其完全加载...

2019-11-13 12:41:17 450

原创 应用开机启动项设置

在linux系统中,安装完一个软件或应用后,有时候需要手动启动该应用,也需要收到将该应用添加到开机启动项中,让其可以能够在linux一开机后就加载该应用启动应用的方法CentOS 6 :service SERVICE start|stop|restart|reload|statusCentOS 7 :systemctl start|stop|restart|reload|statu...

2019-11-12 19:07:24 217 1

原创 集群中时间同步

 集群中时间不同步有可能会让大数据的应用程序运行混乱,造成不可预知的问题,比如Hbase,当时间差别过大时就会挂掉,所以在大数据集群中,ntp服务,应该作为一种基础的服务,以下在演示在CentOS 7.2集群上配置ntp服务的过程首先检查系统中是否安装ntp包:rpm -q ntp然后,执行命令在线安装ntp:yum -y install ntp安装后重新查看ntp包:...

2019-11-12 17:09:28 534

原创 linux磁盘已满,查看文件占用

1.使用df -h查看磁盘空间占用情况df 命令说明df命令的功能是用来检查linux服务器的文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。 主要命令参数:-a 全部文件系统列表-h 方便阅读方式显示-H 等于“-h”,但是计算式,1K=1000,而不是1K=1024-i 显示inode信息-k 区块为1024字节-l ...

2019-11-10 12:34:09 1100

原创 HBase快速入门

HBase 定义HBase 是一种分布式、可扩展、支持海量数据存储的 NoSQL 数据库。HBase 数据模型逻辑上,HBase 的数据模型同关系型数据库很类似,数据存储在一张表中,有行有列。但从 HBase 的底层物理存储结构(K-V)来看,HBase 更像是一个 multi-dimensional map。HBase 逻辑结构HBase 物理存储结构...

2019-11-10 00:26:00 244

原创 Linux文件系统以及文件操作常用命令

Linux文件系统在Linux操作系统中,所有被操作系统管理的资源,例如网络接口卡、磁盘驱动器、打印机、输入输出设备、普通文件或是目录都被看作是一个文件。也就是说在LINUX系统中有一个重要的概念:一切都是文件。其实这是UNIX哲学的一个体现,而Linux是重写UNIX而来,所以这个概念也就传承了下来。在UNIX系统中,把一切资源都看作是文件,包括硬件设备。UNIX系统把每个硬件都看成是一...

2019-11-08 10:57:50 432

原创 ETL概念

ETL概念ETL是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程,目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析依据。ETL是BI项目重要的一个环节。 通常情况下,在BI项目中ETL会花掉整个项目至少1/3的时间,ETL设计的好坏直接关接到BI项目的成败。  ETL的设计分三部分:数据抽取、数据的清洗转换、数据的加载。在设计ETL的...

2019-11-08 09:19:58 287

转载 Java 正则表达式

Java 正则表达式正则表达式定义了字符串的模式。正则表达式可以用来搜索、编辑或处理文本。正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。正则表达式实例一个字符串其实就是一个简单的正则表达式,例如Hello World正则表达式匹配 "Hello World" 字符串。.(点号)也是一个正则表达式,它匹配任何一个字符如:"a" 或 "1"。下表列出了一...

2019-11-07 20:38:36 96

原创 MySQL 处理重复数据

防止表中出现重复数据你可以在 MySQL 数据表中设置指定的字段为PRIMARY KEY(主键)或者UNIQUE(唯一)索引来保证数据的唯一性。让我们尝试一个实例:下表中无索引及主键,所以该表允许出现多条重复记录。CREATE TABLE person_tbl( first_name CHAR(20), last_name CHAR(20), sex...

2019-11-07 15:38:21 136

原创 关系型数据库与非关系数据库的区别

一、关系型数据库?1.概念关系型数据库是指采用了关系模型来组织数据的数据库。简单来说,关系模式就是二维表格模型。主要代表:SQL Server,Oracle,Mysql,PostgreSQL。2.优点(1).容易理解,二维表的结构非常贴近现实世界,二维表格,容易理解。(2)使用方便,通用的sql语句使得操作关系型数据库非常方便。(3)易于维护,数据库的ACID属性...

2019-11-05 23:50:25 827

原创 Scala快速入门--1-声明变量

背景 因为Spark是由Scala开发的,所以在开发Spark应用程序之前要对Scala语言学习。虽然Spark也支持Java、Python语言 Scala是运行在JVM上一门语言。开发效率非常高、语法丰富简洁,三两行Scala代码能搞定Java要写的一大坨代码。 Scala特性面向对象特性 Scala是一种纯面向对象的语言,每个值都是对象。 函数式编程 S...

2019-11-05 23:06:57 206

转载 网页请求的状态码大全

2开头 (请求成功)表示成功处理了请求的状态代码。200 (成功) 服务器已成功处理了请求。 通常,这表示服务器提供了请求的网页。201 (已创建) 请求成功并且服务器创建了新的资源。202 (已接受) 服务器已接受请求,但尚未处理。203 (非授权信息) 服务器已成功处理了请求,但返回的信息可能来自另一来源。204 (无内容) 服务器成功处理了请...

2019-11-05 15:35:08 4955

原创 JSON字符串和java对象的互转【json-lib】

在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML、JSON等,JSON作为一个轻量级的数据格式比xml效率要高,XML需要很多的标签,这无疑占据了网络流量,JSON在这方面则做的很好,下面先看下JSON的格式,JSON可以有两种格式,一种是对象格式的,另一种是数组对象,{"name":"JSON","address":"北京市西城区","age":25}//JSON的对象...

2019-11-05 13:07:06 77

转载 面向对象之多态(向上转型与向下转型)

简单的理解多态多态,简而言之就是同一个行为具有多个不同表现形式或形态的能力。比如说,有一杯水,我不知道它是温的、冰的还是烫的,但是我一摸我就知道了。我摸水杯这个动作,对于不同温度的水,就会得到不同的结果。这就是多态。public class Water { public void showTem(){ System.out.println("我的温度是: 0度")...

2019-11-04 20:22:30 418 2

转载 JVM之内存结构图文详解

JVM内存结构java虚拟机在执行程序的过程中会将内存划分为不同的数据区域,看一下下图。第一,JVM分为五个区域:虚拟机栈、本地方法栈、方法区、堆、程序计数器。PS:大家不要排斥英语,此处用英文记忆反而更容易理解。第二,JVM五个区中虚拟机栈、本地方法栈、程序计数器为线程私有,方法区和堆为线程共享区。图中已经用颜色区分,绿色表示“通行”,橘黄色表示停一停(需等待)。第三,...

2019-11-04 12:44:00 240

转载 MongoDB简单概述

面试时问到了,阅读了篇简单记录下,我慌了。秋招啥时候是个头啊(11.3)。一、简介MongoDB 数据库的一些特性: 面向文档存储,基于JSON/BSON 可表示灵活的数据结构 动态 DDL能力,没有强Schema约束,支持快速迭代 高性能计算,提供基于内存的快速数据查询 容易扩展,利用数据分片可以支持海量数据存储 丰富的功能集,支持二级索引、...

2019-11-04 00:19:40 175

转载 悲观锁、乐观锁、可重入锁、自旋锁、偏向锁、轻量/重量级锁、读写锁、各种锁及其Java实现

〇、synchronized与LockJava中有两种加锁的方式:一种是用synchronized关键字,另一种是用Lock接口的实现类。形象地说,synchronized关键字是自动档,可以满足一切日常驾驶需求。但是如果你想要玩漂移或者各种骚操作,就需要手动档了——各种Lock的实现类。所以如果你只是想要简单的加个锁,对性能也没什么特别的要求,用synchronized关键字就足够了...

2019-11-03 21:11:52 126

原创 乐观锁和悲观锁

悲观锁总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它线程)。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。Java中synchronized和ReentrantLock等独占锁就是悲观锁思...

2019-11-03 19:39:53 113

原创 mysql数据库的主从同步,实现读写分离

主从复制大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够。到了数据业务层、数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器来处理如此多的数据库连接操作,数据库必然会崩溃,特别是数据丢失的话,后果更是不堪设想。这时候,我们会考虑如何减少数据库的连接,下面就进入我们今天的主题。利用主从数据库来实现读写分离,从而分担主数据库的压力。在多个服务器上部署mysql,...

2019-11-03 17:28:11 158

原创 MySQL常见面试题

Mysql中有哪几种锁(锁的粒度)?1.表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。2.行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。共享锁、排他锁共享锁又称为读锁,简称S锁,顾名思义,共享锁就是多个事务对于同一数据可以共享一把锁,都能访问到数据,但是只能读不能修改。排他锁又称为写锁,简称X锁,顾名...

2019-11-03 13:14:53 926

原创 TCP协议

一、起源TCP 是传输层的协议,全称是叫做 Transmission Control Protocol,这个协议在 IETF RFC 793 进行了定义。在互联网产生之前,我们的电脑都是相互独立的,每台机器都有着自己的操作系统并保持着自己的运行。于是,为了将这些电脑连接起来,并能够基于一种"通道"的形式进行数据、资源的传输及交互,IETF 制定了 TCP 协议。那么,IETF又是什么?这是...

2019-11-02 19:03:53 192

转载 MySQL分库分表的那点事

一、何谓分库分表?把原本存储于一个库的数据分块存储到多个库(主机)上,把原本存储于一个表的数据分块存储到多个表上。二、为什么要分库分表?数据库中的数据量不一定是可控的,在未进行分库分表的情况下,随着时间和业务的发展,库中的表会越来越多,表中的数据量也会越来越大,相应地,数据操作,增删改查的开销也会越来越大。另外,由于无法进行分布式式部署,而一台服务器的资源(CPU、磁盘、内存、IO等...

2019-11-02 15:43:01 134

原创 Zab协议:一致性协议

什么是Zab协议?Zookeeper 是通过 Zab 协议来保证分布式事务的最终一致性。 Zab协议是为分布式协调服务Zookeeper专门设计的一种 支持崩溃恢复 的 原子广播协议 ,是Zookeeper保证数据一致性的核心算法。Zab借鉴了Paxos算法,但又不像Paxos那样,是一种通用的分布式一致性算法。它是特别为Zookeeper设计的支持崩溃恢复的原子广播协议。 在...

2019-11-02 13:13:26 665 1

详细设计说明书(GB8567-88).doc

软件详细设计说明书,对概要设计的进一步细化,一般由各部分的担当人员依据概要设计分别完成,然后在集成,是具体的实现细节。理论上要求可以照此编码。

2019-06-26

概要设计说明书.doc

软件概要设计说明书,说明系统模块划分、选择的技术路线等,整体说明软件的实现思路。并且需要指出关键技术难点等。

2019-06-26

软件需求说明书(GB856T-88 模板).doc

软件开发过程的需求分析文档是三大文档的开头,面向对象为用户。

2019-06-26

空空如也

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

TA关注的人

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