- 博客(37)
- 收藏
- 关注
转载 hive之Json解析(普通Json和Json数组)
https://www.cnblogs.com/yfb918/p/10644262.html
2020-11-21 20:12:28 365
转载 Kafka consumer消息的拉取及偏移的管理
消费者拉取消息并处理主要有4个步骤:获取消费者所拉取分区的偏移位置OffsetFetchRequest(新的消息是从偏移位置开始的)创建FetchReqeust,生成Map<Node, FetchRequest>,以消费者所拉取消息的节点为key来分组,所消费的TopicPartition的数据为value,并放入到unsent队列调用poll方法实际发送请求给相应的node,如果返回成功,在onSecuss方法中,消息被保存在completedFetches中从completedFet
2020-11-08 20:54:57 793
转载 kafka消费者组
阅读目录一、 误区澄清与概念明确 一直以来都想写一点关于kafka consumer的东西,特别是关于新版consumer的中文资料很少。最近Kafka社区邮件组已经在讨论是否应该正式使用新版本consumer替换老版本,笔者也觉得时机成熟了,于是写下这篇文章讨论并总结一下新版本consumer的些许设计理念,希望能把consumer这点事说清楚,从而对广大使用者有所帮助。在开始之前,我想花一点时间先来明确一些概念和术语,这会极大地方便我们下面的讨论。另外请原谅这文章有点长,毕竟要讨论的东西.
2020-11-08 20:52:36 455
转载 Scala中的String.split函数
今天在写一个统计用户信息的程序时出现了bug,导致统计结果与真实值有很大差距。经过仔细检查,我发现是错误地使用split函数导致的。看来还是对scala中的split函数的理解不够透彻。本篇博文将详细解释scala中String.split的参数及用法。因为scala中的String复用了Java的String,因此这也是Java中String.split的用法。split函数主要有两种参数形式:def split(arg0: String): Array[String]def split(arg0
2020-11-03 21:52:03 993
原创 Spark FlatMap(x=>new ListBuffer())或者FlatMap(x=>new ListBuffer[String]())
如下图,在返回不包含元素的ListBuffer时,如果ListBuffer没有指定类型(即ListBuffer中包含的是什么类型的成员),在执行后面的操作时就会报错。如下图,指定了ListBuffer中成员的类型后,执行后面的操作时就不会报错。...
2020-10-22 22:36:51 360 1
原创 Hive 2.3.7 insert overwrite 清空表
1.原数据全是null的情况(能清空)hive> select * from testNull;OKNULLNULLNULLTime taken: 0.08 seconds, Fetched: 3 row(s)hive> insert overwrite table testNull select * from testNull where 1=0;hive> select * from testNull;OKTime taken: 0.089 seconds2.原
2020-10-18 22:24:57 1661
原创 Hive2.3.7中对手动插入null的测试
1.create table testNull(id int) row format delimited fields terminated by ‘,’;2.insert into testNull(id) values(null);3.插入的null,查询出NULLhive> select * from testNull;OKNULL4.看看单元格是否存储的字符串,或者空指针null、NULL(就是看空指针null是否能存为null)hive> select * from
2020-10-18 22:14:55 835
原创 dayofweek
dayofweek(param) – Returns the day of the week of date/timestamp (1 = Sunday, 2 = Monday, …, 7 = Saturday)param can be one of:A string in the format of ‘yyyy-MM-dd HH:mm:ss’ or ‘yyyy-MM-dd’.A date valueA timestamp valueExample:SELECT dayofweek(‘200
2020-10-11 21:11:59 172
转载 HBase 行键设计
HBase 有两种基本的键结构:行键(row key)和列键(column key)。两者都可以存储有意义的信息,一种是键本身存储的内容,另一种是键的排列顺序。概念HBase 的表中数据分隔主要是使用列族(column family)而不是列,并非列式存储,如下图,表示了用户逻辑上把一个单元格的数据存到了一张表中,实际上底层存储是按列族线性地存储单元格,并包含了一些必要信息:HBase左上图是数据的逻辑视图,列键包含了列族和列(cf1:c1、cf2:c1...),每一行必须有一个行键(r
2020-10-09 22:54:39 2367
转载 HBase全网最佳学习资料汇总
HBase全网最佳学习资料汇总摘要: HBase这几年在国内使用的越来越广泛,在一定规模的企业中几乎是必备存储引擎,互联网企业阿里巴巴、百度、腾讯、京东、小米都有数千台的HBase集群,中国电信的话单、中国人寿的保单都是存储在HBase中。前言HBase这几年在国内使用的越来越广泛,在一定规模的企业中几乎是必备存储引擎,互联网企业阿里巴巴、京东、小米都有数千台的HBase集群,中国电信的话单、中国人寿的保单都是存储在HBase中。注意大公司有数十个数百个HBase集群,此点...
2020-10-01 23:07:50 1105
转载 Kafka consumer消息的拉取及偏移的管理
消费者拉取消息并处理主要有4个步骤:获取消费者所拉取分区的偏移位置OffsetFetchRequest(新的消息是从偏移位置开始的)创建FetchReqeust,生成Map<Node, FetchRequest>,以消费者所拉取消息的节点为key来分组,所消费的TopicPartition的数据为value,并放入到unsent队列调用poll方法实际发送请求给相应的node,如果返回成功,在onSecuss方法中,消息被保存在completedFetches中从comple...
2020-10-01 16:01:04 772
转载 kafka listeners 和 advertised.listeners 的应用
介绍区别在公司内网部署 kafka 集群只需要用到 listeners,所以一直也不用管 advertised.listeners 是做啥的,刚开始有查过,因为经验不足,始终理解的不够,后来发现在 docker 部署和云服务器上部署,内外网需要作区分时,发挥了它强大的作用。那么先看看文字类描述:listeners: 学名叫监听器,其实就是告诉外部连接者要通过什么协议访问指定主机名和端口开放的 Kafka 服务。advertised.listeners:和 listeners 相比多了个 adv
2020-09-24 22:02:43 1109
转载 Spark 2.x kafka LocationStrategies 的几种方式
Spark 2.x kafka LocationStrategies 的几种方式。1. LocationStrategies.PreferBrokers()仅仅在你 spark 的 executor 在相同的节点上,优先分配到存在 kafka broker 的机器上;2. LocationStrategies.PreferConsistent();大多数情况下使用,一致性的方式分配分区所有 executor 上。(主要是为了分布均匀)3. LocationStrategies.Pref
2020-09-24 21:58:44 370
原创 SparkStreaming创建DirectStream连接kafka时策略详解
https://www.jianshu.com/p/c765168b5045
2020-09-24 21:55:47 175
转载 oracle分组排序取前几
项目需求:分组排序1、要求取出按field1分组后,并在每组中按照field2排序;2、根据要求取出1中已经分组排序好的前多少行的数据; 1.row_number() over()row_number()over(partition by col1 order by col2)表示根据col1分组,再分组内部根据col2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的)。 (1,2,3,4,5.....)2.rank() over(...
2020-09-12 15:32:08 2244
转载 Oracle批量更新数据,使用begin end
/* 使用begin end批量更新 注意end后面必须使用;结束 并且每条update语句都要用;来结束 所以close为;END; 是为了补全语法 */ <foreach collection="list" item="item" index= "index" open="BEGIN" close=";END;" separator =";"> update xxxx <...
2020-09-12 14:59:38 1821
转载 解决sqlplus /as sysdba登陆oracle无效
安装完oracle,然后执行完下面的自动配置脚本后,没有任何地方设置过密码。# /etc/init.d/oracledb_ORCLCDB-19c configure在这个命令执行完成后,会提醒查看完整日志的地方:Look at the log file “/opt/oracle/cfgtoollogs/dbca/ORCLCDB/ORCLCDB.log” for further details.Database configuration completed suc...
2020-09-11 22:25:09 4662 3
原创 java junit测试之mock的用法
测试时,用到的Mock,他是生成一个模拟的对象,这个对象中的方法和真实对象中的方法是一一对应的,只是这些方法都是空壳,当用模拟对象调用方法时,自己要去设置这些方法的返回值,以及是否会抛出异常等,真实方法的行为在模拟对象方法中,要自己设置去模拟。...
2020-09-06 22:02:59 1636
转载 Checked exception is invalid for this method!异常解决方案
在用mockito来模拟异常的时候,当要抛出自定义的异常,而非RuntimeException等自定义异常时,常常会出现如下错误信息:Checkedexception is invalid for this method!以前我可以通过doThrow(CheckedException.class).when(service).show(anyObject),来绕过这个错误。但是当抛出的异常要携带某些信息时,就不能不给异常传参了,于是就得这么写:doThrow(new CheckedEx.
2020-09-01 22:15:05 17419
转载 Spark SQL Dataframe 写入oracle
可以看此处文章https://xvlvzhu.github.io/2018/01/07/Spark%E6%93%8D%E4%BD%9C%E6%95%B0%E6%8D%AE%E5%BA%93%E7%A4%BA%E4%BE%8B/以下是写入Oracle数据库 val url = "jdbc:oracle:thin:@//ip:1521/数据库名称" val user = "ods" val password = "oracle" val driver = "oracle.jdbc.driver.
2020-09-01 22:03:45 1644
转载 震惊了!原来这才是kafka!
震惊了!原来这才是kafka!简介kafka是一个分布式消息队列。具有高性能、持久化、多副本备份、横向扩展能力。生产者往队列里写消息,消费者从队列里取消息进行业务逻辑。一般在架构设计中起到解耦、削峰、异步处理的作用。kafka对外使用topic的概念,生产者往topic里写消息,消费者从读消息。为了做到水平扩展,一个topic实际是由多个partition组成的,遇到瓶颈时,可以通过增加partition的数量来进行横向扩容。单个parition内是保证消息有序。每新写一条消息,kafka就是在对
2020-09-01 21:59:30 172
转载 spark1.5.x升级spark2.1.1代码改动
spark1.5.x升级spark2.1.1代码改动背景公司一直用spark1.5.2, 最近将其升级至spark2.1.1。本文的总结升级过程需要改动的地方。涉及了spark普通项目和spark streaming项目,项目均为java语言开发。改动一:flatMap and mapPartitions 返回iterator对于spark1.5,flatMap和mapPartitions算子返回的是集合,比如list。而升级到spark2之后需要返回迭代器iterator。参见官方说明:spark
2020-09-01 21:51:15 271
转载 Spark性能调优篇五之使用fastUtil工具包
Spark性能调优篇五之使用fastUtil工具包 今天再来介绍一个小的优化点,是一个通过使用fastutil工具包对数据格式进行优化。首先来明确一个东西,什么是fastutil? fastutil是一个Java集合框架的扩展,通过实现Java集合的接口,提供了特殊类型的map,list等等。通过使用fastutil可以使
2020-09-01 21:48:01 407
转载 Scala解析Json字符串
1. 添加相应依赖 Json解析工具使用的 json-smart,曾经对比过Java的fastjson、gson。Scala的json4s、lift-json。其中 jso...
2020-08-30 22:57:57 756
转载 10分钟详解Spring全家桶7大知识点
Spring框架自诞生以来一直备受开发者青睐,有人亲切的称之为:Spring 全家桶。它包括SpringMVC、SpringBoot、Spring Cloud、Spring Cloud Dataflow等解决方案。很多研发人员把spring看作心目中最好的java项目,没有之一。所以这是重点也是难点,工作中必须会,面试时肯定考。那么,今天花费10分钟,梳理Spring框架相关知识。一、Spring知识点-汇总spring系列包含非常多的项目,可以满足java开发中的方方面面。先来看常用框架的知
2020-08-30 22:51:03 219
转载 IDEA--IDEA debug断点调试技巧
目录一、Debug开篇二、基本用法&快捷键三、变量查看四、计算表达式五、智能步入六、断点条件设置七、多线程调试八、回退断点九、中断DebugDebug用来追踪代码的运行流程,通常在程序运行过程中出现异常,启用Debug模式可以分析定位异常发生的位置,以及在运行过程中参数的变化。通常我们也可以启用Debug模式...
2020-08-30 22:41:54 812
转载 【IDEA】 idea 常用快捷键
IDEA 一款非常优秀的开发工具,本篇博客总结一些在 IDEA 中常用的快捷键,旨在提高开发效率,如果你想修改默认的快捷键,可以看我的这篇博客 IDEA 如何修改...
2020-08-30 22:35:50 862
转载 在日志中记录Java异常信息的正确姿势
遇到的问题今天遇到一个线上的BUG,在执行表单提交时失败,但是从程序日志中看不到任何异常信息。在Review源代码时发现,当catch到异常时只是输出了e.getMessage(),如下所示:logger.error("error: {}, {}", params, e.getMessage());在日志中看不到任何信息,说明e.getMessage()返回值为空字符串。原因分析先来看一下Java中的异常类图:Throwable是Java中所有异常信息的顶级父类,其中的成员变量d...
2020-08-30 22:19:10 618
转载 设置Crontab执行任务时不发送邮件
crontab的定时任务执行后都会给root发送一封邮件,通过以下方法可以防止这种情况SHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/bin#这是第一种方法,设置MAILTO参数为空MAILTO=""HOME=/# For details see man 4 crontabs# Example of job definition:# .---------------- minute (0 - 59)# | .------------- .
2020-08-17 21:41:51 3423
原创 SecureCRT中SFTP经常用到的命令
按ALT+P弹出SFTP窗口,弹出新窗口,就可以进行ftp操作。输入:help,显示FTP提供的命令pwd:显示linux主机上当前所在目录(即远程主机上的目录)lpwd:显示本地目录(假如你用windows上传文件,windows就是本地)ls:查询远程主机上当前目录下有哪些文件lls:查询本地当前目录下有哪些文件lcd:改变本地主机上的上传目录(本地目录)cd:改变远程主机上的接收目录(远程目录)get:将远程目录中的文件下载到本地目录put:将本地目录中的文件上传到远程目录quit
2020-08-02 17:07:56 411
原创 pyinstaller打包python程序
怕忘记,记一下。使用的是anaconda,先在anaconda中新建一个环境,然后先安装pillow,再安装pyinstaller。然后进入到脚本所在文件夹,利用环境对应的命令行执行pyinstaller -F xx.py。最后生成的exe在脚本所在的文件夹中,在dist文件夹中找。运行exe时,缺什么,就在pyinstaller所在的环境装什么。...
2020-01-01 01:00:26 149
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人