自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(71)
  • 资源 (4)
  • 收藏
  • 关注

原创 一文掌握 clickhouse 语法优化规则

一文掌握 clickhouse 语法优化规则

2021-12-22 21:05:05 914

原创 clickhouse表引擎

表引擎是clickhouse的一大特色,表引擎决定了如何存储表的数据

2021-12-21 14:30:51 2564

原创 数仓维度建模之维度表技术基础

数仓维度建模之维度表技术基础01 维度表结构组成结构:主键 + 维度属性名词解释:主键:作⽤是与事实表的外键进⾏关联。维度属性:是⽤于描述维度特性的字段,⼀般作为 group by分组查询的条件。举个例⼦:时间维度表 时间id在时间维度表⾥作为主键存在,事实表中也存 在⼀个时间id与之关联,得到时间维度的⼀些维度属性02 ⼀致性维度概念:当不同的维度表的属性具有相同列名和领域内容时, 称维度表具有⼀致性。利⽤⼀致性属性与每个事实表 关联,可将来⾃不同事实表的信息合并到同⼀报表 中。

2021-09-18 11:32:19 772

原创 用户画像设计样例

用户画像资料需要资源的关注公众号’小码良’,并回复‘用户画像’,即可获取相关资源

2021-09-08 17:30:07 381

原创 pyspark使用hbase详解

pyspark使用hbase详解一、测试代码:def write2hbase(): from pyspark.sql import SparkSession from pyspark import SparkContext, SparkConf spark = SparkSession.builder.appName("nlp").getOrCreate() # 创建spark对象 print('spark对象已创建') host = 'emr1:2181,e

2021-07-27 16:37:53 2034

原创 生产环境-数据仓库组件之Kafka(二)《性能优化》

生产环境-数据仓库组件之Kafka(二)《性能优化》1、Heap Size的调整vim kafka-server-start.sh默认配置:KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"调整为:KAFKA_HEAP_OPTS="-Xmx4G -Xms4G"推荐配置:一般HEAP SIZE的大小不超过主机内存的50%。vim server.properties(2-8都是在该文件配置)2、网络和ios操作线程配置优化:默认配置:broker处理消息的最大线程数num.

2021-06-23 15:37:37 226

原创 生产环境-数据仓库组件之Kafka(一)

数据仓库组件之Kafka(一)1、调整参数安装Kafka,进行service.properties参数的调整(3台都进行调整)# 每个机器的唯一表示,这个作用类似于zookeeper中的myid文件和HDFS中的slaves文件broker.id=0# 配置kafka和zookeeper之间的连接端口和列表,因为kafka是依赖于zookeeper的zookeeper.connect=cdh01:2181,cdh02:2181,cdh03:2181# 指定Kafka持久化消息的目录,Kafka

2021-05-14 14:52:16 301

原创 生产环境-数据仓库组件之Flume

数据仓库组件之Flume一、前言​ Flume是一个可以收集日志等数据资源,并将这些庞大的数据从各项数据源中集中起来存储的高可用,分布式的工具,其设计的原理也是基于数据流。二、架构1 架构示意图2 架构说明:根据我们公司的业务架构,生产环境的服务器基本上是两台,所产生的日志数据分别存放在自己的本地路径下,并没有在大数据集群的服务器上,所以我们需要Flume子节点将日志数据传输到大数据集群。通过我们大数据集群上的Flume再下沉到Kafka集群在下沉到Kafka集群时,需要遵守Kafka

2021-05-14 14:27:02 290 2

原创 使用sqoop全量和增量导入脚本(hive--mysql mysql--hive)

一、MySQL ----> Hive1、考虑到安全性问题,我们会将数据库、服务器的连接信息放在一个配置脚本里,然后在执行脚本里调用这个配置脚本,从而使配置和执行进行解耦分离2、配置脚本(db_config.sh)!/bin/shjdbc=mysql://ip:3326/testusername=rootpassword=roottable=wb_robothive-database=zl_testhive-table=t13、将MySQL历史全量数据进行导入到hive!/bin

2020-06-23 17:21:32 3871

原创 kafka学习之linux单机安装kafka

linux单机安装kafka一、关闭SELINUXvi /etc/selinux/config#SELINUX=enforcing #注释掉#SELINUXTYPE=targeted #注释掉SELINUX=disabled #增加:wq! #保存退出setenforce 0 #使配置立即生效二、配置关闭防火墙,开启9092端口启动一个服务:systemctl start firewalld.service关闭一个服务:systemctl stop firewalld.service

2020-06-10 09:46:43 272

原创 服务器部署dble全流程

我这里使用的版本是actiontech-dble-2.20.04.0.tar,服务器 IP地址 描述DBLE服务器 192.168.56.185 DBLE实例,数据库中间件,负责接收SQL进行路由分发MySQL A服务器 192.168.56.181 物理实例A,将会创建db1,db3,db5三个schemaMySQL B服务器 192.168.56.182 物理实例B,将会创建db2,db4,db6三个schema开始安装:一、首先需要在dble Ser

2020-06-04 14:04:24 1088 1

原创 物理拷贝备份mysql到其他机器上恢复

1、所要拷贝数据库service mysqld stopcp -a /var/lib/mysql /home/mysql2、目标数据库service mysqld stopmv /var/lib/mysql /var/lib/mysql_bak3、所要拷贝数据库scp -i id_dsa_dev -r /home/mysql root@10.9.252.119:/var/lib/4、目标数据库我们看到权限是root组的root用户,这里我们要授权给MySQL组的mysql用

2020-06-03 09:47:49 371

原创 python读取MySQL数据存到一个Excel的多个sheet表里,并通过邮件发送

需求:python读取MySQL数据存到一个Excel的多个sheet表里,并通过邮件发送代码:import pymysqlimport xlwtimport datetimefrom email.mime.multipart import MIMEMultipartfrom email.header import Headerfrom email.mime.text import MIMETextfrom email.mime.multipart import MIMEMultipart

2020-06-02 18:07:46 1079

原创 win10下tomcat在idea的安装配置

一、下载Tomcat1、进入官网http://tomcat.apache.org/,选择download,下载所需Tomcat版本。此处我选择下载最新版本Tomcat 9。注意有zip和exe两种格式的,zip(64-bit Windows zip(pgp,md5,sha1))是免安装版的,exe(32-bit/64-bit Windows Service installer(pgp,md5,sha1))是安装版。同时观察自己的电脑是64位系统还是32位系统。此处选择下载zip版;下载后直接解

2020-05-29 18:40:47 924

原创 Spring注解@Resource和@Autowired区别对比

Spring注解@Resource和@Autowired区别对比@Resource和@Autowired都是做Bean的注入时使用,其实@Resource并不是Spring的注解,他的包是javax.annotation.Resource,需要导入,但是Spring支持该注解的注入共同点:两者都可以写在字段和setter方法上。两者如果都写在字段上,那么就不用再写setter方法不同点:1)@Autowired@Autowired为Spring提供的注解,需要导入包org.springfra

2020-05-29 18:27:57 310

原创 hive自定义函数udtf(临时和永久函数)

用户定义表生成函数UDTF(user-defined table-generating function,UDTF) 操作作用于单个数据行,并且产生多个数据行-------一个表作为输出。lateral view explore()1、编写自定义的udtf函数编程思路:继承org.apache.hadoop.hive.ql.udf.generic.GenericUDTF,实现initialize,process, close三个方法。UDTF首先会调用initialize方法,此方法返回UDT

2020-05-29 14:33:52 846

原创 hive自定义函数udf(临时和永久函数)

hive自定义函数udf和udtf一、UDF(user defined functions)用于处理单行数据,并生成单个数据行1、自定义UDF 的步骤:1.1、编写自定义的UDF函数继承"org.apache.hadoop.hive.ql.exec.UDF"类至少实现一个evaluate()方法,evaluate函数支持重载例子:import org.apache.hadoop.hive.ql.exec.UDF;import java.text.ParseException;import

2020-05-28 17:40:16 1980

原创 Spark Streaming 和 Flink 详细对比

干货 | Spark Streaming 和 Flink 详细对比原文详见:https://mp.weixin.qq.com/s/Fb1cW0oN7xYeb1oI2ixtgQ

2020-05-27 14:21:24 335

原创 spark streaming的业务场景(无状态、有状态、窗口操作)

spark streaming支持的业务场景:1、无状态操作:每个批次处理都不依赖于先前批次的数据,只关注当前的DStream中的实时数据,例如 只对当前的DStream中的数据做正确性校验。每个DStream在内部是由许多个RDD(也叫批次)组成,且无状态转化操作是分别应用到每个RDD上的。无状态转化操作的例子map、filter等等,操作都是每个批次中的数据,但是DStream如果使用join,union等基于健的操作的话,那么所传的RDD就必须同样也是DStream才行。SparkStrea

2020-05-26 17:14:12 1219 1

原创 hive实操六(用户标签连接查询)

用户标签连接查询数据: tags_info 表:字段(一个): tags1,2,31,22,3lab_info表:字段(两个):Id lab1 A2 B3 C根据两个表的数据,期望编写sql实现如下结果:ids tags1,2,3 A,B,C1,2 A,B2,3 B,C所用SQL: -- 建表和加载数据create table tags_info( tags string);load dat

2020-05-25 19:23:30 644

原创 hive的udtf函数一(lateral view explode源码解析)

hive的udtf函数二 (lateral view explode源码分析)Lateral view与UDTF函数一起使用,UDTF对每个输入行产生0或者多个输出行。Lateral view首先在基表的每个输入行应用UDTF,然后连接结果输出行与输入行组成拥有指定表别名的虚拟表。测试SQL:explain select c1 as mlike from person_infolateral view explode(likes)t1 as c1;下图是上面SQL的hive执行任务:对每一步进行

2020-05-25 18:51:13 979

原创 hive的udtf函数一(lateral view explode)

基础介绍:1.explode函数explode函数以array类型数据输入,然后对数组中的数据进行迭代,返回多行结果,一行一个数组元素值ARRAY函数是将一列输入转换成一个数组输出。例如:SELECT explode(array(1,2,3)) AS element;OKelement123Time taken: 0.327 seconds, Fetched: 3 row(s)数据准备:1 zhang3 "sing","tennis","running" "beijing":"d

2020-05-25 16:47:04 945

原创 hive中的拼接函数(concat,group_concat,concat_ws,collect_set)

1、concatconcat() 函数用于将多个字符串连接成一个字符串。concat(string s1, string s2, string s3,…)表示通过s1、s2和s3连接一起举例:+----+--------+| id | name |+----+--------+| 1 | city |+----+--------+CONCAT(id,’:’,name) = 1:city2、concat_wsconcat_ws() 指定参数之间的分隔符concat_ws(s

2020-05-25 14:41:14 16916

原创 hive实操五(每个用户连续登陆的最大天数)

每个用户连续登陆的最大天数数据:1,2019-08-011,2019-08-021,2019-08-032,2019-08-012,2019-08-023,2019-08-013,2019-08-034,2019-07-284,2019-07-294,2019-08-014,2019-08-024,2019-08-03期望结果:uid cnt_days 1 32 23 14 3所用SQL:create ta

2020-05-22 14:34:55 724

原创 hive实操四(订单及订单类型行列互换)

数据:111 N 10:00111 A 10:05111 B 10:10期望结果:order_id order_type_1 order_type_2 order_time_1 order_time_2 111 N A 10:00 10:05 111 A B 10:05 10:10所用SQLcreate table order_type(o

2020-05-21 18:32:10 215

原创 Hive分析窗口函数一(LAG,LEAD,FIRST_VALUE,LAST_VALUE)

数据准备:cookie1,2015-04-10 10:00:02,url2cookie1,2015-04-10 10:00:00,url1cookie1,2015-04-10 10:03:04,1url3cookie1,2015-04-10 10:50:05,url6cookie1,2015-04-10 11:00:00,url7cookie1,2015-04-10 10:10:00,url4cookie1,2015-04-10 10:50:01,url5cookie2,2015-04-10

2020-05-21 15:53:30 217

原创 hive实操三(每班前三名和前三名按名次排序的一次的分差)

编写sql语句实现每班前三名,分数一样并列,同时求出前三名 按名次排序的一次的分差数据:1 1901 902 1901 903 1901 834 1901 605 1902 666 1902 237 1902 998 1902 679 1902 87结果如下:1901 1 90 1 1 901901 2 90 2 1 01901 3 83 3 1 -71902 7 99 1 1 991902 9 87 2 2 -121902 8 67 3 3 -20SQL如下:cr

2020-05-21 15:38:26 756

原创 hive实操二(连续7天登录的总人数)

求连续7天登录的总人数数据:1 2019-07-12 11 2019-07-13 11 2019-07-14 11 2019-07-15 11 2019-07-16 11 2019-07-17 11 2019-07-18 12 2019-07-11 12 2019-07-12 12 2019-07-13 02 2019-07-14 12 2019-07-15 12 2019-07-16 02 2019-07-17 12 2019-07-18 03 2019-07-11 1

2020-05-20 18:49:26 1086

原创 hive实操一(最大单月访问次数和用户月累计访问次数)

编写sql实现每个用户截止到每月为止的最大单月访问次数和累 计到该月的总访问次数数据:A,2015-01,5A,2015-01,15B,2015-01,5A,2015-01,8B,2015-01,25A,2015-01,5A,2015-02,4A,2015-02,6B,2015-02,10B,2015-02,5A,2015-03,16A,2015-03,22B,2015-03,23B,2015-03,10B,2015-03,1每个用户截止到每月为止的最大单月访问次数和累计

2020-05-20 18:39:54 1298

原创 大数据踩过的坑(一)hive union

大数据踩过的坑(一)hive union今天朋友问我一个关于hive的问题,是想将两个筛选条件的值加起来,然后就想到了用union,因为最近用的MySQL比较多,就直接写了union,朋友说hive里没有union,只有union all,但是我这边用union测试的是没有问题的,然后就上网搜了一下,列了下面几点合并前的两个SQLselect count(distinct uid) as ct1from userswherestatus=1;selectcount(distinct u

2020-05-20 18:00:06 2204

原创 MySQL8性能测试五(日期虚拟列)

mysql 虚拟列创建表CREATE TABLE `date_virtual_test` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(255), `buy_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '时间', `buy_day` int(9) GENERATED ALWAYS AS (date_format(`buy_time`,'%Y%m%d'))

2020-05-20 10:36:43 809

原创 MySQL8性能测试四(nosql)

NoSQL数据库数据库大致上可以分为四类:键值存储,列存储,文档存储和图形存储。MySQL8新增了NoSQL的文档存储将mysql用作文档存储时,集合是容器,集合包含可以添加、查找、更新、和删除的JSON文档。这里会用到mysql-shell,下载地址:链接:https://pan.baidu.com/s/1VX3eQIeiAslzpeDC4RzSnQ 密码:3u2y然后解压就可以进入mysql-shell的bin目录执行./mysqlsh root@localhost:33060/test

2020-05-20 10:16:39 582

原创 MySQL8性能测试三(myisam引擎)

从MySQL 8.0版本开始,就不允许创建 MyISAM 分区表了,只允许创建已经实现了本地分区策略的引擎。到目前为止,只有InnoDB和NDB这两个引擎支持本地分区策略。CREATE TABLE t (i INT) ENGINE = MYISAM;在MySQL 8.0中,通常需要使用它 ENGINE来指定MyISAM 存储引擎,因为InnoDB它是默认引擎。数据量:408434条,141.7M,50个并发,查询1000次,结果如下:Mysql8使用InnoDB引擎测试Mysql8使用MyIS

2020-05-20 09:38:14 1504

原创 服务器otter部署全流程

jdk安装包链接:https://pan.baidu.com/s/16TaQgey-arlK6rw-nyz9rQ 密码:h7gpzookeeper安装包链接:https://pan.baidu.com/s/1ahdf9YJIMj2LDYH_VaGtJA 密码:ccrhotter安装包链接:https://pan.baidu.com/s/1eDl9nu6Jq_ZbW1KgLHw07g 密码:gk9z一、安装jdk1、查看是否存在which java2、卸载mv /usr/bin/ja

2020-05-18 16:08:09 1782

原创 Python爬取携程机票代码实例

Python爬取携程机票代码实例现在携程的页面是通过接口传递数据的,不能直接使用xpath进行解析,需要模拟调用接口的步骤dcity是指出发地的城市编码acity是指目的地的城市编码其他参数是根据前端页面直接复制过来的,Mac 的Chrome浏览器如下图def getResponse(fromCity,toCity,date): cityInfo = judgeCity(fromCity,toCity,date) dcity = cityInfo.get('dcity')

2020-05-15 18:04:51 4047 6

原创 MySQL8性能测试二 (JSON函数)

优雅浏览想要以优雅的格式显示JSON值,请使用JSON_PRETTY()函数select uid,JSON_PRETTY(data)from json_test_indexwhere uid=3;2.查找可以在WHERE子句中使用col ->> path运算符来引用JSON的某一列select uid,datafrom json_test_index where data ->> '$.index._id' = "10";也可以使用JSON_CONTA.

2020-05-15 17:08:10 1476

原创 MySQL8性能测试一(JSON索引)

json索引测试创建表CREATE TABLE json_test( uid BIGINT PRIMARY KEY NOT NULL AUTO_INCREMENT, data JSON NOT NULL, speaker VARCHAR(32) GENERATED ALWAYS AS (json_extract(data, '$.speaker')) VIRTUAL) ENGINE=INNODB CHARSET=utf8mb4; 数据量大小:221,698行,36.56 MB查询测试1、

2020-05-15 17:01:41 5692

原创 MySQL之Linux服务器MySQL5.7.26安装流程

下载地址:链接:https://pan.baidu.com/s/15-SSkzR89K3uMhHUwwjpbQ 密码:enbj1.上传到服务器并解压tar -xvf mysql-5.7.26-linux-glibc2.12-x86_64.tar2.再移动并重命名一下mv mysql-5.7.26-linux-glibc2.12-x86_64 /usr/local/mysql3.创建m...

2020-04-28 14:20:01 347

原创 MySQL之用户权限(二)

MySQL8.0用户权限新特性用户权限  在MySQL5.7的版本:  > grant all privileges on *.* to '用户名'@'主机' identified by '密码';  在MySQL8.0需要分开执行:  >create user '用户名'@'主机' identified by '密码';  >grant all privile...

2020-04-21 18:31:50 190

原创 MySQL之MySQL8.0新特性

最近公司正在升级MySQL的版本,对于MySQL8和以前版本有一些区别,新增了一些新特性MySQL8.0做出的一些改变,在功能上主要有以下6点::账户与安全优化器索引通用表表达式窗口函数InnoDB增强JSON增强一、账户与安全1.用户的创建与授权在MySQL5.7的版本:> grant all privileges on . to ‘用户名’@‘主机’ identif...

2020-04-21 18:12:04 232

用户画像MVP实践设计

1、用户画像基础知识 2、用户标签指标体系 3、搭建开发环境 4、标签数据存储 5、标签数据开发 6、开发性能调优 7、作业流程调度 8、用户画像产品化 9、用户画像应用

2021-09-08

电影天堂最新电影爬虫数据

根据第一电影天堂前端结构,发起请求 通过HTTP库向目标站点发起请求,也就是发送一个Request,请求可以包含额外的header等信息,等待服务器响应 获取响应内容 如果服务器能正常响应,会得到一个Response,Response的内容便是所要获取的页面内容,类型可能是HTML,Json字符串,二进制数据(图片或者视频)等类型 解析内容 得到的内容可能是HTML,可以用正则表达式,页面解析库进行解析,可能是Json,可以直接转换为Json对象解析,可能是二进制数据,可以做保存或者进一步的处理 保存数据 保存形式多样,可以存为文本,也可以保存到数据库,或者保存特定格式的文件

2020-04-10

kNN算法代码实例和数据集.zip

参考机器学习第二章KNN(K比邻算法),对于实例代码提供相对应的数据集 # 1:约会网站 # 2:将图像转换为测试向量,创建1x1024的Numpy数组,然后打开给定的文件,循环读出文件的前32行, # 并将每行的头32个字符值存储在NumPy数组中,最后返回数组

2020-04-10

java内部人员物流网站项目

该系统是某大型物流公司的后台核心综合业务系统,使用群体为公司内部成员。 类似于中通物流、顺丰物流。在做项目时可以参考现有运行的物流系统。该系统分为若干个模 块, 有权限管理,运输路线管理,受理模块以及基础数据等模块。

2018-06-23

空空如也

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

TA关注的人

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