自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(155)
  • 资源 (4)
  • 问答 (2)
  • 收藏
  • 关注

原创 基于Pyspark 的 Spark structured streaming 项目 <<数据实时流清洗>>

项目描述:概要:从Kafka中读取数据,在DataFrame 中用 spark.sql() 方法内写 业务逻辑,对数据进行清洗,包含解析 IP 地址,解析 电话号码。(通过调用Hive 的 UDF 函数来实现)项目代码:# -*- coding: utf-8 -*-""" @CreateTime :2020/12/14 18:33 @Author : Liangde @Description : 数据上游 Kafka topic_sip_full_r1.

2020-12-31 14:36:19 597

原创 Spark 权威指南 2020 出版

欢迎阅读《Spark权威指南》! 我们很高兴出版这本书,这是目前为止关于Apache Spark最全面的学习资源,本书特别关注Spark 2.0中引入的新一代Spark API。 Apache Spark是目前最流行的大规模数据处理系统之一,提供支持多种编程语言的 API,并且具有大量内置库和第三方库的支持。在2009年,Spark项目是在加州大学 伯克利分校开始的一个研究项目,然后自2013年起发布到Apache开源社区上。该项 目已经存在了很多年,开源社区持续在Spark上构建了更强大的API和高级库,

2020-11-23 14:05:53 3672 10

原创 Hive 如何 编写 UDAF 函数 解析 电话号码 的归属地以及运营商等字段

我采用的是Hive 的 Transform 函数 + python 脚本实现创建Hive表导入数据查看 phone 解析模块改写成 分布式的 map 函数本地测试 map 逻辑集群上运行注意的一些坑创建Hive表// An highlighted blockCREATE TABLE `chinese`( `c1` string, `c2` string, `c3` string, `c4` string)ROW FORMAT SERDE 'org.apache.hadoop.hi

2020-09-23 16:31:02 533

原创 Flask后端编写应用时的基本目录结构

最基础的目录初始化的目录结构:ginger 是入口脚本保持和项目名称一致:from app.app import create_appapp = create_app()if __name__ == '__main__': app.run(debug=True)app 目录是存放着创建 flask 应用的方法from flask import ...

2020-04-06 22:12:52 1401

原创 不编写一行代码实现 Hive 自定义 UDF 函数 解析 UA

1、什么是UA? 用户访问服务器时,所携带的一些基本信息。 日志字段如下:Mozilla/5.0 (iPhone; CPU iPhone OS 13_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148Mozilla/5.0 (Windows NT 10.0; WOW64) ...

2020-01-06 16:47:34 554

原创 Pandas DataFrame 的常用操作总结

预备:随便搞一个DataFrame 出来先!!!import numpy as npimport pandas as pddata = {'city': ['Beijing', 'Shanghai', 'Guangzhou', 'Shenzhen', 'Hangzhou', 'Chongqing'], 'year': [2016,2016,2015,2017,2016, 2...

2018-12-25 12:11:23 911

原创 Flink 提交到 yarn 时 修改 yarn 的job 名称

Flink 设置 Job名称

2022-06-23 14:59:12 2113 1

原创 mysql yum安装(2022.04.12最新测试可行)

yum安装 mysql 无坑哦~

2022-04-12 16:21:04 295

原创 Hive SQL 练习

Hive SQL 常见需求集锦需求一: 2021年9月购买过得用户/ 顾客及总人数selectname ,count(1) over(rows between unbouned preceding and unbounded following)fromw_orderswhereyear(time) = '2021-09'group by name;需求二: 顾客的购买明细信息以及每月购买总额selectname,time,costsum(cost) over(pa..

2022-02-21 23:37:00 785

原创 Python 总结(初级之数据结构 字符串)

Python 的程序中充满了字符串(string),在平常阅读代码时也屡见不鲜。字符串同样是Python中很常见的一种数据类型,比如日志的打印、程序中函数的解释、数据库的访问、变量的基本操作等等,都用到了字符串。字符串基础字符串是由独立字符组成的一个序列,通常包含在单引号(' ') 双引号(" ") 或者三引号之中(''' ''' 或 """ """, 两者一样)name = 'jason'city = 'beijing'text = "welcome to jike shijian

2021-11-23 11:51:20 1132

原创 Python 总结(初级之数据结构 字典与集合)

字典和集合基础那究竟什么是字典,什么是集合?字典是一系列由健(key)和值(value)配对组成的元素的集合,在Python3.7+ 字典被确定为有序(注意:在3.6中,字典有序是一个 implementation detail,在 3.7才正式称为语言特性,因此3.6中无法 100% 确保其有序性),而3.6之前是无序的,其长度大小可变,元素可以任意地删减和改变。相比于列表和元组,字典的性能更优,特别是对于查找、添加和删除操作,字典都能在常数时间复杂度内完成。而集合和字典基本相同,唯一的区别,

2021-11-22 16:48:11 318

原创 Python 总结(初级之数据结构列表和数组)

1、列表和元组列表是动态的,长度大小不固定,可以随意地增加、删减或者改变元素(mutable)。而元组是静态的,长度大小固定,无法增加删减或者改变(immutable)。 tup = (1, 2, 3, 4)new_tup = tup + (5, ) # 创建新的元组new_tup,并依次填充原元组的值new _tup(1, 2, 3, 4, 5)l = [1, 2, 3, 4]l.append(5) # 添加元素5到原列表的末尾...

2021-11-22 11:46:49 200

原创 Hadoop 数据仓库开发实战(一)

7.1 业务需求 背景: 物美的管理来说,数据仓库平台对其至关重要。因为数据平台是其数据化运营的前提和基础。 基于数据仓库平台生成的各种销售报表和库存报表是公司管理层和各个城市运营人员以及门店运营人员决策的主要依据。整个公司得整体销售趋势如何?是否应该对某些滞销的商品进行促销?客户是否在流失??某些畅销商品是否应该及时补货?如何选择自营商品从而利润最大化?这些都需要及时、准确和精炼过的数据来支持。 同时,过去的数据分析只是一个方面,...

2021-11-18 14:37:25 1545

原创 Hadoop 数据仓库开发实战(二)

7.3 Hadoop 数据仓库规范设计 对于一个公司或者组织来说,使用数据的用户可能成百上千,如何降低大家对于数据使用的沟通成本、如何通过规范大家的行为来降低使用数据的风险,这些问题是必须加以考虑的。 实际实践中,通常用数据仓库的规范来达到此目的。数据仓库的规范包括很多方面,如数据的命名规范、开发规范、流程规范、安全规范和质量规范等,下面将结合 物美的业务介绍常用的命名、开发和流程规范。7.3.1 命名规范 ...

2021-11-18 09:38:53 774

原创 维度建模的基本理论

维度建模 围绕三个问题来展开 1、怎么组织数据仓库中的数据? 2、怎么组织才能使得数据的使用最为方便和便捷? 3、怎么组织才能使得数据仓库具有良好的可扩展性和可维护性? 维度建模两大派系 Bill Inmon(数据仓库之父) 的企业信息化工厂模式和 Ralph Kimball (商业智能之父)的维度建模模式Ralph kimball维度建模 基本理论 一般过程 维度表审计 事实表设计维度建模关键概念 1、度量和环境(产...

2021-11-12 11:49:21 2797

原创 Hive Sql 的优化案例

需求场景:A表为一个汇总表,汇总的是卖家买家最近N天交易汇总信息,即对于每个卖家最近N天,其每个买家共成交了多少单、总金额是多少,为了专注于本节要解决的问题,N只取90天,汇总值仅取成交单数。A表的字段有: buyer_id、seller_id 和pay_cnt_90d。B表为卖家基本信息表,其中包含卖家的一个分层评级信息,比如把卖家分为6个级别: S0、S1、S2、S3、S4 和S5.要获得的结果是每个买家在各个级别卖家的成交比例信息,比如:某买家:S0:10%;S1:20%;S2:20%;S

2021-10-19 11:44:54 389

原创 Hive 常用的函数

函数类型 函数列表 日期函数 Date_add、datediff、 to_date 、from_unixtime 、unix_timestamp等 字符串函数 subs tr、concat、concat_ws、split、regexp_replace、regexp_extract、get_json object、 trim、instr、length等 数字函数 Abs、ce...

2021-10-19 10:03:43 109

原创 CK -sql

json字符串解析select DISTINCT schoolId, schoolIdCN, areaCode, classCode, name, email, r_time, log_time, replaceAll( visitParamExtractRaw(click_list, 'material_id'), '"', '' ) material_id, replaceAll( visitParamExtractRaw(click_l..

2021-10-08 16:20:08 376

原创 es批量导出数据到csv

1、pip install es2csv2、修改两处源码sudo vim /usr/local/lib/python2.7/dist-packages/es2csv.py 修改127 行 为了和ES 新版本 兼容self.num_results = res['hits']['total']['value'] 第212行 为了使得分隔符生效csv_writer = csv.DictWriter(output_file, fieldnames=sel...

2021-09-23 20:05:39 1365

原创 删除 kibana-index 后恢复Dashboard

1、 打开 kibana 的 Saved Object2、找到 Dashboard 中的视图,注意这里不能用 Dashboard 的 总视图,而是总视图下,一个个图形的视图。3、查询新的 kibana-index 值GET .kibana/_search{"query": {"match": {"index-pattern.title": "online-iteach-front-online-analysis-log-2021"}}}4、...

2021-08-31 17:13:31 717 1

原创 clickhouse Insert 原理

#### 1 ) INSERT的核心执行流程当需要在ReplicatedMergeTree中执行INSERT以写入数据时,即会进入INSERT核心流程,整个流程从上至下按照时间顺序进行。1)创建第一个副本实例```--clickhouse-sts-0节点执行;create table replicated(id Int8,ctime DateTime,name String)ENGINE = ReplicatedMergeTree('/clickhouse/tables/01/re

2021-08-19 13:58:14 1480

原创 kibana 查询 和 sql 对照

sql : select * from table twhere t.a is not null and t.b = "123456" sort

2021-06-21 11:18:32 1734

原创 filebeat 采集 kafka 的数据 到 ES 当中的配置

公司 通过 多个 filebeat 将数据采集到 kafka 上。由于 kafka 数据可视化不是很强,需要暂时将数据 在 kibana 上展示。涉及到数据不计算,暂时先再启用一个 filebeat 采集 kafka 的数据到 ES 中。###################### Filebeat Configuration Example ########################## This file is an example configuration file ..

2021-05-19 10:11:54 540

原创 kudu Python 客户端

import kudufrom kudu.client import Partitioningfrom datetime import datetime# Connect to Kudu master serverclient = kudu.connect(host='kudu.master', port=7051)# Define a schema for a new tablebuilder = kudu.schema_builder()builder.add_column('key.

2021-01-18 16:10:45 398

原创 pyspark-结构化流 在指定 maxOffsetsPerTrigger 的情况下,读取row行数 会翻倍?

今天在读取 kafka 时,写了一个 sql 统计。结果发现指定maxOffsetsPerTrigger 在2W ,结果读了 3W多条数据。很纳闷~后来调试发现是自己 sql 的问题SQL 如下: select t1.ip,t1.cseq,count(1) cnt from ( select f_ip as ip , cseq fr..

2021-01-07 10:32:43 695

原创 pyspark 结构化流读取 两个 kafka主题,累计统计 IP 出现次数 Demo版本

# -*- coding: utf-8 -*-""" @CreateTime :2021/1/5 15:26 @Author : Liangde @Description : @Modify:"""from pyspark import SparkConffrom pyspark.sql import SparkSessionfrom conf.setting import KAFKA_CONFIG""" 设置任务 常量 lost data 异常应

2021-01-05 18:16:59 249

转载 Spark 权威指南 第20章 流处理基础

流处理基础Apache Spark一直支持流处理。在2012年,该项目合并了Spark Streaming及其DStream API,这是第一个能够使用例如map和reduce这样的高级函数进行流处理的API。现在,数以百计的组织在生产中使用DStreams来实现大型实时应用程序,通常每小时处理TB级的数据。虽然在很多方面与弹性分布式数据集(RDD) API相似,但是Dstream API是基于Java/Python对象的相对较低级别操作,它限制了更高级别的优化。因此,在2016年,Spark项

2020-11-23 16:32:47 269

原创 SparkStreaming 总结(1) ---- Ideal 消费 kafka主题的数据 Demo版本

SparkStreaming 简介spark的内置模块,用于实时计算微批次流式实时计算框架SparkStreaming 架构有两个线程,采集线程和处理线程采集线程向Driver 提交,Executor 进行具体数据的处理。SparkStreaming 的背压机制根据executor的消费能力来处理数据SparkStrreaming 的创建方式DStream 是SparkStraming对处理的数据集的一个抽象读取指定端口数据的创建DS通过RDD 队列创建DS(不常用)通过定义Rece

2020-10-26 15:37:33 270

原创 Spark 调优

Spark 调优开发调优1、 提高RDD 的使用效率对于同一份数据,应该只创建一个 RDD尽可能复用RDD对多次使用的RDD 持久化cache算法进行缓存,但是同时也要 unPersist进行释放2、 合理使用数据结构 对应 Java 提供的一些高级数据结构或者Scala提供的一些高级数据结构,其内部都是按照对象进行存储和实现的,每个对象都有对象头、引用等额外信息,比较占用空间。 如 HashMap, String 等。 避免使用这些高级数据结构浪费内存。使用原始类型(int 、 L

2020-10-23 15:58:14 155

原创 爬虫解析银行卡号归属地 python 实现

# -*- coding: utf-8 -*-# @Time : 2020/10/19 17:02# @Author : zmj# @File : card_demo02.py# @Software: PyCharmimport requestsfrom lxml import etreefrom utpsycopg2 import PostgreClientimport randomimport timepg_conn_master = { "host": "192.168.

2020-10-20 14:07:45 1096 2

原创 Spark 运行模式及原理

Spark 计算细节val conf = new SparkConf().setAppName("WordCount")val sc = new SparkContext(conf)val lines = sc.textFile(...)val wc = lines.flatMap(_.split(" ")) .map((_,1)) .reduceByKey(_+_)Spark 运行时的 Job 提交过程Spark 基本工作流程Spark 调度简介Yarn Cluster

2020-10-16 15:05:20 155

原创 Spark API 总结

RDD 核心术语名称含义ApplicationSpark的应用程序,包含一个Driver program和若干个ExecutorDriver Program运行Application的main()函数并创建SparkContextSaprkContextSpark应用程序的入口,负责调度work的原酸资源,协调WorkerNode上的ExecutorExecutor是Application运行在Work Node 上的一个进程,该进程负责运行Task,并且负责

2020-10-16 12:13:42 701

原创 pandas 处理数据 【两个DataFrame】 要进行for 循环 嵌套 匹配数据

需求描述: 1、有两个 DataFrame A和 B ,遍历 B DataFrame 通过A 的 三个字段 起始时间和 结束时间, id 进行判断,若B 的 时间戳在 A 的起始和结束时间范围内,并且 a.id = b.id 则将两条数据拼接输出。 2、B的 某字段和 加起来 等于 A 的某字段。一句话描述就是 A 是汇总结果 ,B 是明细数据,搞清楚 哪些B 构成了A 。 判断条件是 属于 时间范围、 分组后的累加和等于A。import pandas...

2020-09-30 14:22:48 4824 2

原创 Kerberos 原理的经典对话故事

Kerberos是一个重要的认证协议,它为互不相识的通信双方做安全的认证工作。Kerberos的原义是希腊神话中守卫冥王大门的长有三个头的看门狗。 这是MIT(Massachusetts Institute of Technology)为了帮助人们理解Kerberos的原理而写的一篇对话集。里面有两个虚构的人物:Athena和Euripides,通过Athena不断的构思和Euripides不断的寻找其中的漏洞,使大家明白了Kerberos协议的原理。

2020-08-18 16:50:59 365

原创 postgresql 的 base64 解密、解码

select encode('123456', 'base64') 加密select decode('313233343536', 'base64') 解密字符集指定CONVERT_FROM(DECODE(sip_info, 'BASE64'), 'UTF-8')

2020-07-14 14:32:59 5499 2

原创 正则 提取 url 中 的 用户名 和 密码

来一段 url:https://m.xp85.com/sjdzZr/user=zhangsan&password=helloworld123&startid=1&count=10假如我想提取:user:zhangsanpassword=helloworld123我的正则是这样的# 这里的 k1, v1 是从库里提取的关键词。re.findall(r'{}=(.*?)[&|"|;|_|\n]'.format(k1), urlStr, re.S)[0]re.fi

2020-07-02 18:26:32 834

原创 Hbase Master 几分钟就死掉的故障排查 和zk host 没关系,最新 hbck2 的用法

看一下对应的 hfile 文件内容命令hbase Hfile -e -p -f /hbase/data/hbase/meta/1588230740/info/5660f2774e0d41d985ac3758ee1db9e3由于 master 节点一直初始化导致的问题:查看 namespace 元数据是否正常echo 'scan "hbase:meta"' | hbase shell | grep 'hbase:namespace'不正常的情况Java HotSpot(TM) 64-Bit

2020-06-30 19:02:50 390 1

转载 Hbase 写请求集中在一个 Region Server

这是一个写的热点问题:1.热点写问题表现在大量的写请求集中在一个region上,造成单点压力大,降低写效率.2.解决方法.创建表的指定多个region,默认情况下一个表一个region,刚开始写的时候就会造成所有的写请求都写到一个region上面,创建多个region的话,写请求就会分流到多个region上面去。提高写的效率3.第二个方法,对rowkey进行散列,既然我们要把多个请求写分到不同的region上,我们需要对key进行md5,进行散列,这样就可以把写请求分到不同的region上面去。..

2020-06-02 17:46:57 749

原创 抓包命令

tcpdump -i eth0 -c 1000 -w ./0526_2.cap抓取 1000个包,以cap 文件存储,指定了默认的一个网卡。详细参看:https://www.cnblogs.com/chyingp/p/linux-command-tcpdump.html

2020-05-26 12:13:32 738 1

原创 postgre sql 累计和 hive sql

postgre sql 累计和 hive sqlsql功能Hivelength ,split的用法# 类似 hive split的函数,自己定义的create or replace function ypl_str2Array(in _originStr VARCHAR(800),in _delimeter VARCHAR(10)) RETURNS VARCHAR(800)[]a...

2020-04-30 20:11:18 380

6-中国联通大数据平台数据仓库.ppt

数据整合、模型设计、数据清理、质量管理、数据安全管理

2021-08-20

java8安装包.zip

java8安装包.zip

2021-04-21

kudu-rpm.zip

python -kudu 需要的 rpm 安装包

2021-04-01

银行归属地匹配表.xlsx

银行卡号一般是16位或者19位。由如下三部分构成。●前六位是:发行者标识代码 Issuer Identification Number (IIN)。注意:当前已经用IIN替换了之前的发卡行识别码 Bank Identification Number (BIN).其中第一位数字是主要产业标识符(Major Industry Identifier (MII)),下表列出了MII每个数字代表的卡号行业。 作者:匿名用户 链接:https://www.zhihu.com/question/20880750/answer/23843625 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商

2020-10-20

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

TA关注的人

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