自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 资源 (2)
  • 收藏
  • 关注

原创 keamns 聚类在快递业务中的分析

最近报了一个AI学习班,说只要8.8元,所以就交了钱进去了,后面发现原来这只是试听课的钱,吐血。不过 的确,试听课的效果 还行,就是他们写的代码太low,可能专门做AI的人,只要智商、算法过得去就好,对于代码功底不需要那么强。而我也停了这些课,就用学到的知识 给 快递的数据做了一个简单的分析,用于 记录 自己的成长。流程1:获取数据,因为自己在快递公司上班,因此 获取了 最近3个月...

2020-03-16 13:59:28 887 2

原创 Nifi 自定义控件,数据插入 使用 merge into 方式

可以看到 这个 PutDatabaseRecordMerge是 没有版本号的,是我自己开发的控件。因为系统提供的这个PutDatabaseRecord 只有insert、update、delete之类的处理,没有 merge into 这个方式的处理。因此就只能自己开发这个控件了。写篇文章记录下 遇到的问题<!-- 必须要有这个,不然 这个控件就不会有 注...

2020-02-27 20:33:17 866 1

原创 spark问题----cannot assign instance

User class threw exception: org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in stage 7.0 failed 4 times, most recent failure: Lost task 0.3 in stage 7.0 (TID 14, sq-spark-...

2020-02-02 10:15:27 1804

原创 Spark join 和 groupBy 的比较

最近在使用spark2 的过程中,发现在join的过程中要产生shuffle。而每一次的shuffle都会带来大量的cpu计算。在后来,发现有一个需求:表A 需要同时join 另外3张表,表B,表C,表D。join的字段是同一个。方案一:表A join 表B join 表C join 表D,发生了3次join。方案二:表A join (表B union 表C un...

2020-01-19 16:07:05 844

原创 Python 记录 模拟登录 的 cookie

在 进行python进行爬虫的时候,都绕不开登录,很多需求只能用户登录之后才能进行后续的接口调用。那么服务器如何知道 你此次的请求 是否登录过 还是没有,一般会通过cookie。因此记录 cookie的作用就非常重要。#!/usr/bin/env pythonimport osimport requestsheaders = { 'User-Agent' ...

2020-01-17 15:18:11 244

原创 Spark 快递经过多个分拨,确定正确的发件、到件

一条快递单号 会经过多个分拨,每次在分拨都会至少做一次到件、发件。而发件的时候会指定下一站。如果多次发件,就要选择正确的下一站,如果没有正确的下一站,则取最后一次发件。之前的难点是 不知道哪个站点 是 正确的下一站。后来才理解过来, 为了判断 正确的下一站,首先要确定 经过了哪些站点。只有得到了 经过的站点,才能得知 正确的下一站。不然直接在route里判断无法得知 正确的下一站是...

2020-01-17 15:09:27 256

原创 Tableau 配置,多张报表切换

最近 需要将oracle中的数据 在Tableau上显示,因此需要使用Tablea进行配置,因为要面对 多个国家,因此 需要平滑切换变成,当我 选择 语言 这个下拉框,选择 ENGLISH ,就会变成上图。第一步: 新建一个工作表,然后新建一个参数:Language然后 做成一个列表,可以让用户 选择语言。第二步:构建一个字段值的名称 随 Languag...

2020-01-16 13:41:38 1985

原创 Spark 代码线上维护 实现【janino】

Spark 的job 运行 都是 执行spark-submit命令 执行 的。因此需要将自己 编写的代码 打成jar包 放在平台上运行。后来在阅读spark2的源码的时候发现了 gencode的方法,发现内部是动态生成代码,然后 通过jannio 去生成class。从这里收到启发 既然 spark内部可以 构建动态代码。那我能否 将 代码维护在网站上,在网站上编辑代码,每次job ...

2020-01-13 10:47:19 593

原创 Flink 广播变量的使用

现在针对实时有这么一个场景:监听两个数据流 data1,data2。其中data2每天的数据量只有1000,而data1每天的数据量有3000万左右。两份数据之间需要join。因为将data2改成 广播对象,这些保证 广播后的数据可以被data1读取到。。。。。。。。。 val configStateDescriptor = new MapStateDes...

2019-06-03 19:21:28 1905

原创 Spark 大表之间的join

最近在处理两份大表之间的join优化。表1 数据量是 8.1G表2 数据量是 24.1Gspark.sql.shuffle.partitions 8005个Executor,每个Executor 10G内存,每个Executor CPU的cores是 4制定了3中优化措施。1:表2 直接 left join 表1.2:表2 union 表1 ,然后groupBy...

2019-05-23 16:14:07 6199

原创 获取http登录后的cookie信息

import requestsfrom lxml import etreeimport reimport jsonimport http.cookiejar as cookielibheader = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko)\...

2019-05-16 14:53:27 5390

原创 Nifi 合并Hdfs上的文件

在使用Nifi的过程中,有些数据是每分钟都会通过 数据库导入到hdfs上。这样就不可避免的产生了许多小文件。小文件过多不利于数据的存储。因此使用Nifi 将小文件 合并掉。流程上,使用 ListHDFS 这个控件 获取目录下所有的hdfs小文件。因为通过nifi写入到hdfs上的文件都是parquet格式。下一步使用 FetchParquet 读取 parquet的...

2019-05-09 13:42:55 1722

原创 Nifi 删除hdfs上的历史数据

之前通过 nifi 每隔几分钟将数据库中的数据 写入到 hdfs上,不过后面数据中小文件过多,因为需要删除历史的数据,所幸写入hdfs的时候都是 table_name/分区键 写入的。因此只要删除历史的分区文件夹就可以完成数据的删除操作了。ex:/user/hive/warehouse/zhong/ge_sys_person/pt=20190203/..../user/hive/war...

2019-05-08 11:47:53 911

原创 spark2.3 读取hbase的数据

最近发现 读取 客户信息的数据的时候 发现序列化内存不够,超过了默认的64M,数据量有100多万了。之前客户信息是存储在hdfs上的parquet文件。现在将客户的信息存储到hbase中去。然后通过Hadoop的API将客户的信息从hbase中读取到缓存到内存中import org.apache.hadoop.hbase.CellUtilimport org.apac...

2019-04-29 16:04:05 932

原创 爬取链家-滨江的租房数据

最近学以致用,使用python3的requests package 爬取链家-滨江在爬取过程中基本没有遇到什么坑,可能链家的反爬机制就没有吧主要流程分成 两步:第一步是 获取当前页面的内容第二步是 生成规则的url,用户分页爬取import requestsimport jsonimport refrom lxml import etreeheader={'A...

2019-04-15 16:24:17 214

原创 爬取 大众点评的 美食数据【二】

爬取大众点评数据,使用多线程处理。使用多线程爬取的目的是两个, 一个是 多线程运行起来快。第二则是 一个人访问的URL通过多线程的缘故变得杂乱无章,这样不容易被发爬机制 确定。from concurrent.futures import ThreadPoolExecutor通过引入ThreadPoolExecutor 完成多线程操作,第二,爬取的过程中,每次爬取一...

2019-04-10 15:05:14 815

android音乐播放器

自己写的map3音乐播放器,里面用到了后台的服务与音乐播放。

2014-09-06

百度地图定位

gps定位,在百度地图中寻找到自己的位置,很有趣的,不过在精度上还是存在些许误差

2013-10-21

空空如也

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

TA关注的人

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