- 博客(69)
- 资源 (1)
- 收藏
- 关注
原创 Java列表变更输出类型
博主最近面试了一家公司,要求在规定内容填充信息,满足输出要求。具体内容如下public class Test{ public static void main(String[] args){ List<Integer> lst = new ArrayList<>(); // TODO System.out.println("Size:"+lst.size()); System.out.println("Content:"+lst.get(0)
2021-06-10 21:02:54
233
原创 Python2日期时间操作
在日常工作中,经常遇到一下日期时间格式转化。例如时间比较、时间格式化、从字符串转化为日期等操作,本文将日常要的这些操作进行汇总备忘。一、时间日期想要时间格式比较,需要转化为统一的数据类型,例如转化为统一的Date类型,或Time类型,或DateTime类型。1.1 Date操作#!/bin/python# -*- coding: UTF-8 -*-import timeimpo...
2020-03-25 21:20:20
651
原创 Linux多版本JDK刷新JAVA_HOME
使用Linux/Mac时间,有时候存在多个版本的JDK,而某些编译需要java_home设置,单纯的java/javac/javah无法满足需求。因此在变更java的时候,期望可以自动设置java_home的路径。使用linux命令配置bash_profile可以自动获取当前java版本对应的java_home,设置如下export CURRENT_PATH=`ls -l /etc/alt...
2019-09-15 09:58:26
865
原创 Canal上手指南:mysql到kafka
1. 准备工作1.1. MySQL账号根据Canal官方说明,需要申请一个MySQL数据库的账号,该账号具有如下权限CREATE USER canal IDENTIFIED BY 'canal'; -- 至少具有如下权限GRANT SELECT, SHOW VIEW, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%'...
2018-11-22 21:43:32
3665
5
原创 Flink vs. Spark简单分析
在技术架构与选型时,首先调研市面上常见的解决方案,然后从各方面进行比较,选择适合公司应用场景的技术。本文截取了文章Hadoop vs Spark vs Flink – Big Data Frameworks Comparison 中的比较表格。各项比较 文章来源:【 DataFlair: Hadoop vs Spark vs Flink – Big Data Frameworks Com...
2018-10-31 14:36:08
1740
翻译 翻译: Flink vs. Spark
在流处理技术框架的技术选型中,Storm/Spark/Flink进入视线。其中简单分析,就除去了Storm选项。Spark Streaming与Flink在流处理方面相差不大,甚至小规模流处理时可以直接使用Spark Streaming,因此需要详细的对比一下它们两者之间的共性与不同点。 本文是一篇译文,翻译自:Apache Spark vs. Apache Flink 。引言 Ap...
2018-10-31 14:17:04
1087
原创 《道德经的人生智慧》读书笔记
最近有时间读了一本书:《道德经的智慧》。在干工作忙碌的闲暇之余,有空看看“鸡汤”书,喝喝鸡汤,也是非常不错的。本文取原文中的文段节选。1. 道可道非常道,名可名非常名:道法自然的智慧1.1. 道可道非常道,名可名非常名“道”是无法用言语清晰表达出来的,如果可以,那就不是我们所说的“大道”;“道”的形态和概念如果可以为其定名,那就不可能是“道”永恒的形态与概念。 “道...
2018-09-13 20:03:36
2721
1
原创 Oracle JDBC为什么不能在Maven中直接配置?
在实际项目中,我们通常使用这样的方式:首先,下载ODBC的Jar到本地;然后,通过Maven安装在本地库中。这样在项目中就可以使用ODBC的Jar包了,而大部分的jar是可以通过Maven中直接引用的。这是为什么呢?项目报错 项目直接编译,报错如下Failed to execute goal on project sql2o-oracle: Could not reso...
2018-09-12 16:38:29
2144
原创 HIVE JDBC任务执行流程
Hive提供了多种访问方式,其中JDBC是一种。通常通过JDBC访问,可以规避用户对HDFS、Metastore的直接访问。本文研究研究一下HiveJDBC执行任务的流程。JDBC执行流程 主要流程分为三条线: 1. 执行任务,无返回 执行完成,获取执行结果[boolean/int],直接结束 2. 执行任务,返回数据 执行完成,通过接口获取数据,用户...
2018-08-12 11:32:32
1667
原创 Hive复杂类型的导入
Hive是大数据体系下ETL、数据预处理、数仓等领域比较重要的组件,应用广泛。博主空闲时间研究一下Hive的数据类型。1. Hive数据类型组成 关于Hive的数据类型,官方文档展示的比较全面,关于数据类型的详细说明Hive数据类型,这里总结如下 大类 类型 具体类型 基本类型 数值型 tinyint,smallint,int,bigint,...
2018-08-11 18:07:32
787
原创 Hive相关的两个疑问[一]
从疑问出发,寻根问底探究原理: 1. Hive CLI/Hive Beeline/Hive JDBC断开连接之后,运行在Yarn上的任务是否继续运行? 2. 我们知道JDBC是无法做缓存的,那么HUE是如何实现缓存功能的? 本部分研究第一个问题,即客户端的状态是否影响Yarn上正在运行的任务。 首先我们从现象谈起然后逐渐找到问题的答案,既是一个解疑的过程也是一个探究研究问题...
2018-07-05 20:40:42
2661
原创 Chromeheadless安装与使用
如果是小规模爬虫或模拟效果要求不高的话,使用Selenium HtmlUniDriver基本可以满足需求。但HtmlUnitDriver是基于JS模拟浏览器原理,存在许多浏览器可以做,但它其实无法操作的功能,比如截图等高级功能。 之前爬虫使用Phantomjs,感觉效果还不错,而且使用方便。Phantomjs可以设置远程模式,方便本地调试;方便设置代理,但这里有一个坑,就是代理地址不...
2018-06-30 12:47:19
17322
2
原创 Alibaba DataX调研使用
接触DataX是基于公司离线数据同步需求,从而开始接触到DataX的使用。前异构数据之间开源同步工具,主要有Sqoop Sqoop是一款开源的工具,主要用于Hadoop与传统RDBMS之间的数据同步,可以将RDBMS中的数据同步到HDFS中,也可以进行逆向操作。主要是基于MR任务的进行同步,具有支持并发、增量更新、支持海量数据同步等优点。 Sqoop Wiki Sqoo...
2018-06-26 23:01:08
9523
原创 安装Chrome Headless遇到的问题
下载地址https://dl.lancdn.com/landian/software/chrome/m缺少依赖warning: 67.0.3396.79_x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID 7fac5991: NOKEYerror: Failed dependencies: /usr/bin/lsb_release...
2018-06-11 08:39:39
6376
原创 Linux使用命令备忘
在使用Centos或Ubuntu时,遇到各种Linux的命令,用到的时候回去查一下语法、参数、使用等内容,但使用过后基本上就忘记了。后面再使用的话,还的继续查找相关文档。ls命令lsls -lls -ltrdu/df命令du -h --max-depth=1 /dfdf -lhtop命令toptop -Utop -p PIDfind命令fin...
2018-06-10 05:58:47
1070
原创 HDFS之我遇到的各种问题
Hostname问题问题描述Datanode denied communication with namenode because hostname cannot be resolved (ip=xx.xx.xx.xx, hostname=xx.xx.xx.xx) at org.apache.hadoop.hdfs.server.blockmanagement.Datanode...
2018-06-07 20:03:51
2852
原创 Maven使用各种问题汇总
查找损坏Jar find ~/.m2/repository/ -name &amp;amp;amp;amp;amp;amp;amp;quot;*jar&amp;amp;amp;amp;amp;amp;amp;quot; | xargs -L 1 zip -T | grep error | grep invalid
2018-06-07 14:10:21
1138
原创 Kafka->SparkStreaming->Hbase【二】
根据业务需求,将Kafka中数据抽取插入到Hbase中。目前网上可以找到许多相关的文章,这里介绍Github上的一个开源工具。 上一章节讲到选择SparkOnHbase为主要原型,将之修改为我们需要的源代码。这里给出修改之后的源代码,修改之后符合我们的业务需求,并尽量避免引起其他不必要的问题。同时,后期优化程序执行效率问题。源代码class HBaseContext( @...
2018-05-16 20:46:26
1422
原创 Kafka->SparkStreaming->Hbase【一】
根据业务需求,将Kafka中数据抽取插入到Hbase中。目前网上可以找到许多相关的文章,这里介绍Github上的一个开源工具。工具地址Github上搜索结果选择工具SparkOnHbase环境配置Hadoop: 2.6.0-cdh5.12.1Spark: 1.6.0-2.10.5Hbase: 1.2.0-cdh5.12.1Hive: 1...
2018-05-16 20:24:26
1267
原创 Git CI/CD安装与使用【二】
在使用Gitlab的公司,使用Gitlab提供的各项功能,实现公司代码的管理、自动化编译同步等,具有非常明显的优势。通Jenkins相比,使用CI/CD可以个性化定制自己的编译内容,并触发执行,无需实现设置crontab配置。 本小节主要是Git-CI/CD配置。样例配置stages: - buildbuild_staging: stage: build ...
2018-05-16 17:51:10
1443
原创 Git CI/CD安装与使用【一】
在使用Gitlab的公司,使用Gitlab提供的各项功能,实现公司代码的管理、自动化编译同步等,具有非常明显的优势。通Jenkins相比,使用CI/CD可以个性化定制自己的编译内容,并触发执行,无需实现设置crontab配置。 本小节主要是Git-Runner的安装。更新repo## 打开配置文件vim /etc/yum.repos.d/gitlab-ci-multi-...
2018-05-16 17:44:39
2556
原创 Java安全集合类
《Java并发编程 从入门到精通》读书笔记。Java集合类非常方便,但适用于现成安全场景下的集合类平常使用的比较少一点,主要是ConcurrentHashMap。
2018-05-13 10:57:19
1299
原创 Java单例模式的几种写法
《Java并发编程 从入门到精通》读书笔记。错误模式该种模式,不安全也不正确class Test{ private static Test instance; privae Test(){} public static Test getInstance(){ if(null==instance) instance = ...
2018-05-13 10:24:07
609
原创 HiveServer遇到一个问题
基于给开发同学使用与BI用户使用的需求,打算开启HiveServer2服务,集群上面的Hive任务执行、调度,都走HiveServer2方式。之前只有调度任务与开发同学使用,所以使用的是Hive CLI方式,开发同学没有添加权限控制。 使用一段时间之后,发现HiveServer2存在各种问题。突出的问题就是不稳定、运行日志很难获取、任务ID需要解析等,最近遇到一个概率性出现的问题。I...
2018-05-12 09:15:14
1209
原创 调度工具技术选型与开发参考
无论是自研调度工具,还是技术选型,都需要实先确定自己的业务需求,今儿根据具体的业务需求进行相关的研究与开发工作。 主要是个人记录日常事物,读者仅供参考。一、调度工具目标1、支持依赖配置:任务间依赖2、支持定时任务与临时任务,灵活配置与启动停止3、支持分布式运行任务4、支持触发式运行任务:存在依赖的任务,上游任务运行结束,可以触发下游任务的运行5、软件要求...
2018-03-15 11:51:04
1465
1
原创 Apache Kylin编译CDH5.12.X
基于业务自动化需求,搭建Apache Kylin用于实时OLAP场景。一、编译官方提供的Apache Kylin目前仅支持到CDH5.7,更高版本的没有发布,或测试。针对公司的CDH版本,需要进行相关设置与编译,才能适用于公司的环境。1、Github获取代码git clone https://github.com/apache/kylin.gitgit checkou...
2018-03-07 11:04:09
1076
原创 CDH Manager开启alert功能
使用CDH时,需要针对多个项目进行监控,但又不想太麻烦使用专业的监控工具,所以只使用CDH自带的CDH Manager来查看相关的监控参数,并开启邮件告警通知功能。 虽然最终搞定了,但还是需要好好记录下来。网络端口确定 默认邮件端口是25,所以在确认是否可以发送邮件之前,需要端口25开放,或能够正常访问外网。特殊的邮件服务器,比如Office365/Google等,他们使用特殊...
2018-02-28 19:04:11
1736
1
原创 记一个Spark模块Hive-thriftserver编译报错
[ERROR] Failed to execute goal net.alchim31.maven:scala-maven-plugin:3.2.2:compile (scala-compile-first) on project spark-hive-thriftserver_2.10: Execution scala-compile-first of goal net.alchim31.mav...
2018-02-26 16:53:58
1675
1
原创 Ganglia-Spark/Kafka编译与安装总结
Ganglia是一款优秀的监控软件,能够监控节点级别以及组件级别的监控,并且与Nagios配合可以做到监控提示的发送通知功能。Ganliga安装预先安装配置## 服务器端yum -y install rrdtool epel-release ganglia-devel ganglia-gmetad ganglia-gmond ganglia-web httpd php#...
2018-02-26 13:21:55
1326
翻译 开源数据流处理
随着公司规模增长,他们的工作流更加复杂,包含更多子处理过程以及带有复杂的依赖关系,这将导致更多监控、问题以及运维工作。如果没有一个清晰的数据血缘关系,可能会引起引用链问题和操作元数据丢失。这就是为什么DAGs、数据流和工作流管理器等产生的原因。 复杂的工作流可以通过DAGs来展现。DAGs就是信息沿着指定的方向在不通节点之间传递的一张图,但信息在图中流传不会回到原点。构建DAGs过程的就是数
2018-01-18 13:43:48
1885
原创 EasyPR-Java新能源车牌识别
EasyPR中主要涉及到蓝色底牌与黄色底牌的车牌识别,随着新能源车辆的发展,目前已经出现绿色底牌的车牌,因此有必要增加绿色车牌的识别。 EasyPR中关于车牌的识别,已经比较完善,这里主要涉及到三个地方的修改。添加颜色在自定义Color的枚举类中,添加 绿色,修改之后为:public enum Color { UNKNOWN, BLUE, YELLOW, GREEN};添加绿色识
2017-10-19 19:41:19
4723
3
原创 Phantomjs服务模式:从性能并发方面谈起
作为比较好的动态网页爬虫手段,phantomjs在许多方面令人比较满意。调用Phantomjs的方式,一般有如下几种情况。命令行模式 在CMD或Shell中,直接输入phantomjs回车,进入命令行模式,能够完成各种操作。但一般情况是通过命令用调用phantomjs来完成爬虫或模拟工作,具体的代码放在JS中。如../bin/phantomjs --debug=yes ./server.js 89
2017-10-13 11:50:29
3396
原创 RSA 加密算法备忘
import java.io.UnsupportedEncodingException;import java.math.BigInteger;import java.security.InvalidKeyException;import java.security.KeyFactory;import java.security.NoSuchAlgorithmException;impor
2017-10-11 21:06:26
961
原创 Crontab整点运行问题
无论是使用Linux自带crontab程序,还是使用cron-utils的crontab语法解析,都存在整点运行问题。问题来源使用crontab语法的时候,如果是固定间隔运行,如0 0/5 * * * *30 */30 * * * *...其中分钟间隔只能是60的因子,如果不是60的因子,那么存在整点运行问题。如运行计划为10 0/29 * * * *那么运行时刻可能为Mon Oct 09
2017-10-09 15:25:14
4698
原创 Spark RDD/DataFrame map保存数据的两种方式
使用Spark RDD或DataFrame,有时需要在foreachPartition或foreachWith里面保存数据到本地或HDFS。直接保存数据当然如果不需要在map里面保存数据,那么针对RDD可以有如下方式val rdd = // target rddrdd.saveAsHadoopFile // add some parameters 针对DataFrame可以有如下方式保存数据val
2017-10-06 11:55:15
7736
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人