- 博客(594)
- 资源 (43)
- 论坛 (6)
- 收藏
- 关注

原创 岁月悠悠,衰微只及肌肤;热忱抛却,颓废必致灵魂
都说程序员的人生充满波澜,人到中年就会有中年危机,或者说把中年失业当做自己的梦魇,那谁的人生又不是呢?几乎每个人都渴望永远青春,惧怕年老的到来。但年龄的增长不会催人老去,唯有在迷失理想之际,才会年老体衰。一、定位自己首先我们可以问问自己属于哪一种程序员,这里,我把程序员定义为以编程为生的人,因为不是每一个写代码的都是程序员。我认为世界上存在四类程序员:(计算机)科学家、码农、专家和工匠。1....
2020-04-10 13:29:48
907

原创 金融业大数据应用场景
如果能够引入外部数据,还可以进一步加快数据价值的变现。外部数据中比较好的有社交数据、电商交易数据、移动大数据、运营商数据、工商司法数据、公安数据、教育数据和银联交易数据等。大数据在金融行业的应用范围较广,典型的案例有花旗银行利用 IBM 沃森电脑为财富管理客户推荐产品,并预测未来计算机推荐理财的市场将超过银行专业理财师;摩根大通银行利用决策树技术,降低了不良贷款率,转化了提前还款客户,一年为摩根...
2020-04-07 17:05:48
2602
2

原创 Python十大优雅代码
本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。1. for - else什么?不是 if 和 else 才是原配吗?No,你可能不知道,else 是个脚踩两只船的家伙,for 和 else 也是一对,而且是合法的。>>> ...
2019-12-07 11:35:17
756
1

原创 量化交易主流框架介绍
量化交易主流框架介绍talibtalib的简称是Technical Analysis Library,主要功能是计算行情数据的技术分析指标numpy介绍:一个用python实现的科学计算包。包括:1、一个强大的N维数组对象Array;2、比较成熟的(广播)函数库;3、用于整合C/C++和Fortran代码的工具包;4、实用的线性代数、傅里叶变换和随机数生成函数。numpy和稀疏矩阵运算包s...
2018-10-15 19:16:46
3502
6
原创 sqoop/NiFi将 mysql导入hive 数值类型变成null的问题解决方案
一、问题描述mysql通过sqoop导入到hive表中,发现有个别数据类型为int或tinyint的列导入后数据为null。设置各种行分隔符,列分隔符都没有效果。源库为1,0显示二、问题分析将hive中单独将有问题的那几列的数据类型设置为string类型,重新导入后发现,里面的值变成true或者false,依然不是0和1由此猜想,sqoop在导入的时候,将那几列的数据转换成了bool类型,问题产生的原因和hive建表语句无关,只能发生在sqoop端或者mysql端。经过查看,发现mysql中
2021-01-12 17:07:30
49
原创 Hive set 常用参数设置
一、设置执行引擎-- 配置mapreduce计算引擎set hive.execution.engine=mr;-- 配置tez 计算引擎set hive.execution.engine=tez;-- 配置spark计算引擎set hive.execution.engine=spark;二、分区相关-- 开启动态分区set hive.exec.dynamic.partition=true;-- 设置非严格模式,动态分区插入数据需要先设置非严格模式set hive.exec.dyna
2021-01-06 16:48:24
122
原创 MR、Tez和Spark执行引擎对比
MapReduceMapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念"Map(映射)“和"Reduce(归约)”。TezTez是Apache开源的支持DAG作业的计算框架,它直接源于MapReduce框架,核心思想是将Map和Reduce两个操作进一步拆分,即Map被拆分成Input、Processor、Sort、Merge和Output, Reduce被拆分成Input、Shuffle、Sort、Merge、Processor和Output等,这样,这些分解后的元操作可
2020-12-23 16:52:51
231
原创 Hadoop数仓迁移(二):超大表数据同步方案(上亿数据量,文件100G以上)
博主在这段时间一直负责公司平台迁移工作,目前项目已接近尾声。数仓迁移过程中,需要将老平台(CDH)数据迁移到新平台(HDP),然而老集群数仓DW层中存在几张上亿条数据(文件100G以上)的大表,直接采用Distcp命令同步耗时耗资源
2020-12-14 09:33:37
177
原创 离线数仓开发——细说维度建模技术
相比操作性数据库基于三范式数据建模的一统江湖,分析性数据库自数据仓库的概念诞生以来,就存在两种得到广泛认可构建数据仓库的方法,即 BillInmon (被称为“数据仓库之父”)的企业信息 工厂模式和 Ralph Kimball (被称为“商业智能之父”)的维度建模模式。目前实际应用中,Kimball的维度建模理论在实践中使用得最为广泛,尤其在互联网行业,互联网和移动互联网行业业务变化快 系统变化快,相应的数据变化也快,数据模型经常需要修改和重构,Kimball 的方法可以迅速响应业务需求,快速构建一个数据
2020-12-08 09:35:26
82
原创 MySQL字符切割函数总结(4种类型)
一、从左开始截取字符串格式:left(str, length)说明:left(被截取字段,截取长度)select left('刀锋所划之地,便是疆土',6) as example结果:二、从右开始截取字符串格式:right(str, length)说明:right(被截取字段,截取长度)select right('刀锋所划之地,便是疆土',4) as example三、截取字符串格式一:substring(str, pos)格式二:substring(str, pos, len
2020-11-25 15:27:12
225
原创 强制关闭正在运行的MapReduce任务
获取任务id,然后通过命令关闭:hadoop job -listhadoop job -kill job_id新版本的hadoop可能要新的命令:yarn application -listyarn application -kill job_id
2020-11-23 14:55:27
46
原创 Presto简介2_安装部署
Presto是一个运行在多台服务器上的分布式系统。 完整安装包括一个coordinator和多个worker。 由客户端提交查询,从Presto命令行CLI提交到coordinator。 coordinator进行解析,分析并执行查询计划,然后分发处理队列到worker。一.下载安装包下载地址1:https://prestodb.io/download.html下载地址2:https://repo1.maven.org/maven2/com/facebook/presto/presto-server
2020-11-23 11:40:32
68
原创 distcp跨集群拷贝文件失败 Source and target differ in block-size. Use -pb to preserve block-sizes during copy
distcp命令是常用的大数据集群间的数据拷贝命令,有时候会因为不同集群间的block块大小不一致导致命令执行失败。报错如下 Source and target differ in block-size. Use -pb to preserve block-sizes during copy原因分析distcp默认拷贝文件时不记录原block大小导致在原文件block.size不是128M时校验失败,需要在distcp命令增加-pb参数。1.HDFS在写的时候有设置块大小,默认128M,某些组件
2020-11-23 10:12:43
86
原创 Kettle组件_获取系统信息
简介通过获取系统信息控件,我们可以获取系统的时间、转换或者作业的开始结束时间(用于增量)、主机信息、上一个作业完成情况和命令行参数等。通过类型的选择可以选择多种类型,这里我们选择命令行参数。数据准备这里以MySQL为例,当然也可以Excel本地输入-- ------------------------------ Table structure for saleorder-- ----------------------------DROP TABLE IF EXISTS `saleorder
2020-11-14 15:15:05
164
原创 Kettle组件_JavaScript代码
//注意 从上一个模块引用的变量在代码中要显示的进行getString()转换var bytes = Packages.org.apache.commons.codec.binary.Base64.decodeBase64( F1.getString().getBytes() );var decString = new Packages.java.lang.String( bytes );var encString = new Packages.java.lang.String( Packages.
2020-11-13 17:18:37
88
原创 Kettle组件_concat fields拼接数据
一、转换流程二、表输入1.mysql新建表结构2.表输入SQL三、Concat fields组件说明(1)Target Field Name:填写我们要新建的字段名称,自己随意起(2)Separator处:填写字段之间的拼接符号(3)在name、type、trim处,选择我们要拼接的字段、字段类型以及去空格的类型。(4)全部配置好之后点击确定。四、表输出选择输出的表和映射关系五、启动六、结果输出可以看到出现了新的字段,拼接起来了。...
2020-11-12 16:58:53
200
原创 sublime text 3设置中文
打开sublime,按快捷键 ctrl + shift + p=> 输入关键字"install" => install package,回车(刚点击之后并不会立刻有反应,需要稍等一会,然后就会弹出一个消息框,表示插件列表加载完成)=> 输入关键字"localiz" 或者“chinese”=> chineseLocalizations,回车搞定...
2020-11-11 17:10:19
104
原创 win10右击没有【始终使用此应用打开】选项的解决方法
通常我们习惯设置某种文件格式默认用哪种程序打开。例如我习惯用java文件默认用notepad++打开。有时候发现右击的时候这个默认选项无故消失了。解决方案:1.右键需要更换默认打开方式的文件,找到最下面的 “属性”选项2.进入“属性”,在“常规”这个 Tag 下面,找到“打开方式”,点击更改如果点击设置后未设置成功,先拖动文件到默认程序打开,在打开状态下,重复以上设置步骤,即可设置成功。...
2020-11-10 16:20:19
389
原创 Hive开窗函数(窗口函数)_四大类型实战案例
去年分别给大家整理了Oracle和HIve开窗函数的相关知识,文见Hive分析函数整理(开窗函数、窗口函数)今天再进一步整理窗口函数常用四大类型用法测试数据集-- 建表CREATE DATABASE IF NOT EXISTS TEST;CREATE TABLE TEST.COSTITEM( NAME STRING,ORDERDATE DATE,COST STRING);-- 数据加载INSERT INTO TEST.COSTITEM VALUES ('jack','2020-0
2020-11-10 13:47:10
278
2
原创 Hive SQL 计算引擎的切换
1、配置mapreduce计算引擎set hive.execution.engine=mr;2、配置spark计算引擎set hive.execution.engine=spark;3、配置tez 计算引擎set hive.execution.engine=tez;
2020-11-03 17:15:29
84
原创 Linux命令——后台运行(nohup 与 &)
Linux/Unix下,通常只有守护进程可在脱离终端的情况下能继续执行,而普通进程在关闭终端时会因收到SIGHUP信号(挂起信号)而退出。当终端退出后,由该终端启动的后台程序自动退出一、& 和 nohup1.让命令在后台运行:&功能和ctrl+z相同watch -n 10 sh test.sh & #每10s在后台执行一次test.sh脚本2.终端退出后程序不停止运行:nohupnohup(=no hang up),使命令忽略SIGHUP信号语法格式: noh
2020-10-30 10:56:14
45
原创 Airflow性能优化(airflow.cfg配置)
配置文件默认在$AIRFLOW_HOME目录下,vim airflow.cfg# dag存放目录dags_folder = /hadoop/airflow/dags# 日志存放目录base_log_folder = /hadoop/airflow/logs# 设置web端Configuration不显示配置信息expose_config = False#控制 Airflow worker 可以并行任务实例的数量parallelism=15# 单个DAG最大并发数# 默认是16,改
2020-10-20 11:10:41
252
原创 Airflow官方文档整理
Airflow官方文档整理一、快速开始# airflow needs a home, ~/airflow is the default,# but you can lay foundation somewhere else if you prefer# (optional)export AIRFLOW_HOME=~/airflow# install from pypi using pippip install apache-airflow# 初始化数据库airflow initdb
2020-10-17 11:34:53
113
原创 hive -e 重定向,带warn日志的处理方式
有时候执行会包含 WARN 开头的日志WARN: The method class org.apache.commons.logging.impl.SLF4JLogFactory#release() was invoked.WARN: Please see http://www.slf4j.org/codes.html#release for an explanation.方式一: grep -vhive -e "hive sql 语句 " | grep -v "WARN" > 输出文
2020-10-14 16:52:41
206
原创 Airflow控制任务并发数量
控制dag的并发数量,这里提供两种方式,一种是修改配置文件,一种是在创建dag的时候单独添加参数。下面针对这两种方式分别进行讲解
2020-10-12 11:12:24
314
原创 Airflow创建DAG和执行步骤
Airflow的dag文件都是用python脚本编写,总共可以分为5个步骤,本文会对这5个步骤进行详细说明。(全网唯一)
2020-09-28 15:03:12
387
原创 Kerberos安全认证部署和使用(HDP)
对于客户端而言,集群开启Kerberos之后,可以对可信任的客户端提供认证,使得可信任客户端能够正确提交作业,恶意用户无法伪装成其他用户侵入到集群当中,能够有效防止恶意冒充客户端提交作业的情况。对于服务端而言,集群开启Kerberos之后,集群中的服务都是可以信任的,集群服务之间使用密钥进行通信,避免了冒充服务的情况。开启Kerberos能够提升集群的安全性,但是也会提升用户使用集群的复杂度,提交作业的方式与没有开启Kerberos前会有一些区别,需要对作业进行改造,增加Kerberos认证的相关内容。
2020-09-22 17:17:05
184
原创 NiFi 1.9.2安装部署和使用(CentOS 7)
一、安装部署Linux中需要安装jdk,因为NiFi就是Java写的。二、NIFI启停三、web界面四、运行日志五、常见问题参考资料:官网地址:http://nifi.apache.org/文档:http://nifi.apache.org/docs.html
2020-09-19 15:55:28
401
原创 Maven配置
一、Maven的下载在Maven的官网即可下载,点击访问Apache Maven。下载后解压即可,解压后目录结构如下:二、参数配置在配置之前请将JDK安装好。1. 环境变量配置添加M2_HOME:对应Maven的解压目录即可。编辑Path环境变量:测试,在cmd窗口输入mvn -v查看显示如下即配置成功:2. 修改配置文件通常我们需要修改解压目录下conf/settings.xml文件,这样可以更好的适合我们的使用。此处注意:所有的修改一定要在注释标签外面,不然修改无效。
2020-09-11 16:26:35
51
原创 认识Maven
一、什么是Maven?如今我们构建一个项目需要用到很多第三方的类库,如写一个使用Spring的Web项目就需要引入大量的jar包。一个项目Jar包的数量之多往往让我们瞠目结舌,并且Jar包之间的关系错综复杂,一个Jar包往往又会引用其他Jar包,缺少任何一个Jar包都会导致项目编译失败。以往开发项目时,程序员往往需要花较多的精力在引用Jar包搭建项目环境上,而这一项工作尤为艰难,少一个Jar包、多一个Jar包往往会报一些让人摸不着头脑的异常。而Maven就是一款帮助程序员构建项目的工具,我们只需要告诉
2020-09-11 15:20:18
35
原创 Navicat 转移数据连接到新的计算机
Navicat是一套数据库管理工具,Navicat Premium 结合了其它Navicat成员的功能,支持单一程序同時连接到MySQL、MariaDB、SQL Server、SQLite、Oracle和PostgreSQL数据库。Navicat Premium可满足现今数据库管理系统的使用功能,包括存储过程、事件、触发器、函数、视图等。迁移Navicat到新的计算机的步骤:选择文件->导出连接。导出的文件(.ncx)包含了全部连接设置内容。备份已导出的文件(.ncx)。在Navi
2020-09-03 17:14:53
347
原创 Linux高级命令—— awk -F ‘:‘,以冒号为分隔符
用法awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,默认以空格为分隔符将每行切片,切开的部分再进行各种分析处理。 awk是行处理器,相比较屏幕处理的优点,在处理庞大文件时不会出现内存溢出或是处理缓慢的问题,通常用来格式化文本信息awk处理过程: 依次对每一行进行处理,然后输出格式:awk 参数 ' BEGIN{} // {action1;action2} ' END{} 文件名1.参数:-F
2020-08-03 19:40:03
1051
原创 yarn web管理界面
原生Hadoop安装完Yarn后,可以在浏览器中通过http://master:8088来访问Yarn的WEB UI,HDP支持Ambari控制台访问。如下图:一、集群指标区域包含如下内容:Apps Submitted:提交的任务数目Apps Pending:挂起的任务数目Apps Running:运行的任务数目Apps Completed:完成的任务数目Containers Running:正在运行的container数目Memory/VCores used:使用了整体集群的内存/虚
2020-08-03 10:31:32
932
2
原创 Hadoop数仓迁移(一):distcp命令、分区修复
目前项目涉及需求:迁移Hadoop数仓(由CDH环境迁移到HDP环境),涉及到hive表的重建,以及hdfs上文件的迁移,以及元数据、分区表的修复。一、建表hive重建表比较简单,首先show create table tablename;然后把建表语句拷贝下来即可,这里要注意的是,特殊分割符和存储文件格式(默认textfile,项目中设计parquet格式),需要将分割语句和stored as XXX语句也加上。否则会导致hadoop集群的hive建表时的默认的存储格式不一致而报错这里我写了一个批量
2020-08-01 17:06:10
287
原创 批量生成hive建表语句
这里以shell为例echo "==========导出test库所有的表结构=========="hive -e "use test;show tables;" > /data/tables.txtecho "==========逐行遍历表信息========="cat tables.txt |while read eachlinedoecho "==========批量生成建表语句========="hive -e "use test;show create table $eac
2020-07-30 19:16:55
273
原创 Hive的msck repair修复分区
[MSCK REPAIR TABLE] 命令全量修复分区,目的就是将分区信息更新到元数据库中案例一:常用于手动复制目录到hive表的location下,此时Hive元数据中没有记录到该目录是hive的分区,所以查不到该分区数据。表test_tbl,存储路径为/user/hive/warehouse/test_tbl,分区字段为pt,正常添加分区是这样的:alter table add if not exist partition (pt='20190101');然后在hdfs中表的存储目录下会生
2020-07-29 18:30:18
371
原创 Hive静态分区和动态分区
主需要建立一个备份带分区的数据表,拷贝时若采用静态分区方式需要写N行语句,因此可以使用动态分区,节省大量时间。Hive的分区方式:由于Hive实际是存储在HDFS上的抽象,Hive的一个分区名对应一个目录名,子分区名就是子目录名,并不是一个实际字段。一)hive中支持两种类型的分区:静态分区SP(static partition)动态分区DP(dynamic partition)...
2020-07-29 18:21:37
143
原创 Hive数据加载方式(insert、load;普通表、分区表)
方式一:load data基础语法:load data [local] inpath '/opt/module/datas/student.txt' [overwrite] into table student[partition ]参数说明:1 load data: 表示加载数据2 local: 表示从本地加载数据到 hive 表;否则从 HDFS 加载数据到 hive 表3 inpath: 表示加载数据的路径相对路径,例如:project/data1绝对路径,例如:/user/hive
2020-07-28 17:39:49
430
2
原创 DataX部署和使用方法
DataX 是阿里巴巴集团内被广泛使用的异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、MaxCompute(原ODPS)、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。框架设计DataX采用Framework + plugin架构构建。将数据源读取和写入抽象成为Reader/Writer插件,Reader从源数据库中读取数据转换成datax内部的数据格式,Writer从datax中把数据读出来并且转换成目的端的数据格式。Read
2020-07-27 11:37:24
712
原创 Python十个经典例子(排序、递归、设计模式、装饰器等)
一、实现查找功能的模块"""实现查找功能的模块"""def seq_search(items, elem): """顺序查找""" for index, item in enumerate(items): if item == elem: return index return -1def bin_search(items, elem): """折半查找(二分查找)""" start, end = 0, len(
2020-07-27 09:52:55
133
MySQL性能优化之参数配置
2018-11-08
Airflow安装配置和web端插件安装
2020-07-01
navicat 连接oracle 11g驱动包
2020-05-28
陀螺仪调度部署和使用(美云智数).rar
2020-05-14
azkaban安装包(web+excutor)
2020-03-27
集群搭建手册_CDH5.13.1版.docx
2020-03-11
TensorFlow.xmind
2020-01-13
Day10-决策树与贝叶斯.xmind
2020-01-13
Day9-LinearRegression线性回归与逻辑斯蒂回归.xmind
2020-01-13
Day8-KNN.xmind
2020-01-13
Day7-pandas-Ⅳ:数据加载与透视表.xmind
2020-01-13
Day6-matplotlib.xmind
2020-01-13
Day5-Scipy.xmind
2020-01-13
Day4-pandas-Ⅲ.xmind
2020-01-13
Day3-pandas-Ⅱ.xmind
2020-01-13
Day2-pandas-Ⅰ.xmind
2020-01-13
Day1-IPython与Numpy.xmind
2020-01-13
Navicat 绿色版().rar
2019-06-27
机器学习09--决策树02
2018-11-08
机器学习03--决策树01
2018-11-08
机器学习02--K近邻算法
2018-11-08
机器学习01--机器学习入门知识(数据科学 5 机器学习介绍)
2018-11-08
数据分析--matplotlib绘图和可视化
2018-11-08
python面试笔试题(现场应聘收集)
2018-10-18
笨办法学python
2018-10-18
HDFS文件中的表名变成了大写,是什么原因?
发表于 2020-10-14 最后回复 2020-10-14
Airflow请教
发表于 2020-06-03 最后回复 2020-06-03
跳槽除了薪资生无可恋
发表于 2020-05-26 最后回复 2020-05-28
kettle连接数据库报错:java.lang.StackOverflowError
发表于 2020-05-19 最后回复 2020-05-19
不撸代码继续写诗―《归途》
发表于 2020-05-09 最后回复 2020-05-10
五一了,不撸代码写首诗怎么样
发表于 2020-05-04 最后回复 2020-05-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人 TA的粉丝