Java技术范

其他

数仓那点事:从入门到佛系

3.对于团队的老大,要学会共赢,一定要能够把大老板的路子打通,有一个至多个业务方的盟友。互联网很多Leader都是从技术转过来的,这时候要学会转变思维,不要总感觉自己是一名顶尖的工程师。
2020年7月16日
其他

Kafka生产者ack机制剖析

专注分享数据仓库与大数据技术(Flink/Hadoop/Spark/Hive)相关内容。关注我可以免费领取大数据书籍与视频。我的博客:https://jiamaoxiang.top/
2020年7月15日
其他

SQL语句大全,所有的SQL都在这里

取子串,字符串的下标是从“1”,start为起始位置,length为字符串长度,实际应用中以len(expression)取得其长度3,right(char_expr,int_expr)
2020年7月15日
其他

看完这篇还不熟悉JVM内存结构,我跪榴莲!

写这篇的主要原因呢,就是为了能在简历上写个“熟悉JVM底层结构”,另一个原因就是能让读我文章的大家也写上这句话,真是个助人为乐的帅小伙。。。。嗯,不单单只是面向面试学习哈,更重要的是构建自己的JVM
2020年7月14日
其他

Flink 1.11:更好用的流批一体 SQL 引擎

~详情参见:https://ci.apache.org/projects/flink/flink-docs-master/dev/table/hive/hive_dialect.html更简洁的
2020年7月10日
其他

MySQL 三万字精华总结 + 面试100 问,吊打面试官绰绰有余(收藏系列)

事务主要用于处理操作量大,复杂度高的数据。比如说,在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据库操作语句就构成一个事务!
2020年7月8日
其他

Java 集合框架看这一篇就够了

数组因为物理上的连续性,当要增删元素时,在尾部还好,但是其他地方就会导致后续元素都要移动,所以效率较低;而链表则可以轻松的断开和下一个元素的连接,直接插入新元素或者移除旧元素。
2020年7月6日
其他

MyBatis版本升级引发的线上告警回顾及原理分析

不过,当服务上线后,开始陆续出现了一些更新系统交互日志方面的报警,这属于系统的辅助流程,报警如下方代码所示。我们发现都是跟MyBatis相关的报警,说明在进行类型转换的时候,系统产生了强转错误。
2020年7月5日
其他

面试官:你对Kafka比较熟? 那说说kafka日志段如何读写的吧?

那配置了这个参数之后如果有很多很多分区,然后因为这个参数是全局的,因此同一时刻需要做很多文件的切分,这磁盘IO就顶不住了啊,因此需要设置个rollJitterMs,来岔开它们。
2020年7月4日
其他

数仓系列 | HiveCube在有赞的实践

汇总表接入Cube如果我们把Cube比作制造汇总数据的工厂,那么各粒度汇总的结果表就是工厂生产的具体产品。假设现在有以下粒度的汇总:grouping
2020年7月2日
其他

深入理解Java Stream流水线

首先回顾一下容器执行Lambda表达式的方式,以ArrayList.forEach()方法为例,具体代码如下:
2020年7月2日
其他

Oracle JDK7 bug 发现、分析与解决实战

"https://vivobbs.xx.yy.zz/wiwNWYCFW9ieGbWq/20181129/3a2adfde12cd328d81f965088890eeffff.jpg";
2020年6月30日
其他

数据仓库分层模型

DWS:当所有的数据都存好了,处理完脏数据之后,下一步我们就需要考虑如何处理和组织统计逻辑了。数据仓库之所以叫数据仓库,正是因为DWS层的重要。数据模型有很多,如:范式模型、维度模型、Data
2020年6月29日
其他

Spring 解决循环依赖的 3 种方式!

ClassPathXmlApplicationContext("com/zfx/student/applicationContext.xml");
2020年6月29日
其他

基于 Binlog 实时同步数据仓库问题总结

笔者写这篇文章,目的是把实际工作中对于Binlog数据采集的开发流程的原则、注意事项、可能存在的问题点展示出来,其中也会有笔者自己的一些个人总结数据采集中的原则,为大家作参考,都是干货哦。
2020年6月27日
其他

Hive性能调优指北

user_behavior;使用skewed/temporary表Hive除了可以使用内部表、外部表、分区表、分桶表之外,也可以使用skewed/temporary表,也可以在一定程度上提升性能。
2020年6月23日
其他

如何优雅的设计 Java 异常

相对这两种异常的方式进行结束,第一种异常指的是我所有的异常都抛RuntimeException异常,但是需要带一个状态码,调用者可以根据状态码再去查询究竟service抛出了一个什么样的异常。
2020年6月23日
其他

HBase Rowkey 设计指南

moc.golbeti.knilfmoc.golbeti.wwwmoc.golbeti.atadnobracmoc.golbeti.fed经过这个之后,这些
2020年6月21日
其他

Java 面试题全梳理

泛型和擦除看着一篇就够了。http://softlab.sdut.edu.cn/blog/subaochen/2017/01/generics-type-erasure/
2020年6月17日
其他

ZooKeeper面试题(2020最新版)

提供两种锁:独占锁、共享锁。独占锁即一次只能有一个线程使用资源,共享锁是读锁共享,读写互斥,即可以有多线线程同时读同一个资源,如果要使用写锁也只能有一个线程使用。Zookeeper
2020年6月12日
其他

数据仓库系统建设中的工作流及优化

ODS数据操作层:用于原始数据在数据平台的落地。数据从数据结构、数据之间的逻辑关系上都与原始数据层基本保持一致。在源数据装入这一层时,要进行诸如业务字段提取或去掉不用字段、脏数据处理等等。
2020年6月11日
其他

1000字讲清数仓命名规范(建议收藏)

指标体系中有很多“率”的指标,都可以拆解成XXX+率,率可以叫rate,那我们所有的指标都叫做XXX+rate。词根可以用来统一表名、字段名、主题域名等等。
2020年6月11日
其他

刚刚晋升为 Apache 顶级项目的 Hudi 如何在数据湖上玩转增量处理

load(basePath)tripsIncrementalDF.createOrReplaceTempView("hudi_trips_incremental")spark.sql("select
2020年6月10日
其他

Spark Shuffle原理及相关调优

read过程,这个过程涉及到网络IO、反序列化等耗时操作。所以整个shuffle过程是极其昂贵的,spark在shuffle的实现上也做了很多优化改进,随着版本的迭代发布,spark
2020年6月9日
其他

Hive-SQL面试?看这篇足够!附答案

a.student_id=b.student_id连续三道题都是有关联的,前两道题给这道题做铺垫,所以当我们拿到一个向这种比较复杂的需求时,可以进行拆分需求,先拆分成1、在做2,最后达到完整的需求
2020年6月8日
其他

Kafka 内核知识梳理,附思维导图

最近简单梳理了下Kafka内核相关的知识,涵盖了Kafka架构总结,副本机制,控制器,高水位机制,日志或消息存储,消息发送与消费机制等方面知识。文末含对应的Kafka内核思维导图,供参考。
2020年6月6日
其他

官宣,Apache Hudi 正式成为顶级项目

•https://blogs.apache.org/foundation/entry/the-apache-software-foundation-announces64•
2020年6月5日
其他

Hive开窗函数实战

专注分享数据仓库与大数据技术(Flink/Hadoop/Spark/Hive)相关内容。关注我可以免费领取大数据书籍与视频。我的博客:https://jiamaoxiang.top/
2020年6月3日
其他

5 个刁钻的 String 面试题!

上面的答案第一个是false,第二个是true,第二个是true我们很好理解,因为比较一个是“abc”,另外一个是拼接得到的“abc”,所以equals比较,这个是输出true,我们很好理解。
2020年6月1日
其他

实战 | Kafka + Flink + Redis 的电商大屏实时计算案

dashboard)正在被越来越多的企业采用,用来及时呈现关键的数据指标。并且在实际操作中,肯定也不会仅仅计算一两个维度。由于Flink的“真·流式计算”这一特点,它比Spark
2020年5月31日
其他

Spark 3.0 自适应查询优化介绍,在运行时加速 Spark SQL 的执行性能

handling)等。现在我们有了一个新优化的查询计划,其中包含一些已完成的阶段,自适应执行框架将搜索并执行子阶段已全部物化的新查询阶段,并重复上面的
2020年5月30日
其他

Java 处理 Exception 的 9 个最佳实践!

}}但现实是经常会出现无法预料的异常或者无法确定这里的代码未来是不是会改动(删除了阻止异常抛出的代码),而此时由于异常被捕获,使得无法拿到足够的错误信息来定位问题。合理的做法是至少要记录异常的信息。
2020年5月29日
其他

恭喜,Apache Hudi 即将成为顶级项目!

模式就是我们更新数据的时候需要通过索引获取更新的数据所涉及的文件,然后把这些数据读出来和更新的数据进行合并,这种模式更新数据比较简单,但是当更新涉及到的数据比较大时,效率非常低;而
2020年5月23日
其他

你必须掌握的 21 个 Java 核心技术!

这个知识点是最最基本的java开发者需要掌握的,第一个肯定是教你如何在命令行中执行java程序,但是很多人一旦把java学完了,IDE用上了,就把这个都忘了。
2020年5月22日
其他

NVIDIA 与数砖合作,将 GPU 加速带入 Apache Spark 3.0

丛集上进行训练,而非将作业负载视为单独的流程,在单独的基础架构上进行训练。这麽一来便能在整个资料科学作业管道上以高效能的方式分析庞大资料,加快处理从资料湖泊
2020年5月21日
其他

9 道 MySQL 面试题,一起来巩固一下吧

就知道你要做什么了。但是在执行前,还需要进行优化器的处理,优化器会判断你使用了哪种索引,使用了何种连接,优化器的作用就是确定效率最高的执行方案。
2020年5月20日
其他

MongoDB Spark Connector 实战指南

http://mirrors.tuna.tsinghua.edu.cn/apache/spark/spark-2.4.4/spark-2.4.4-bin-hadoop2.7.tgztar
2020年5月19日
其他

菜鸟实时数仓技术架构演进

在开发的过程中常用的数据库比较少,因此统一数据库连接标准是有必要的。我们开发的叫天工,它可以提供整个数据库统一的接入标准,提供统一的权限控制,提供统一的全链路的保障。这个中间件将
2020年5月18日
其他

几种常见的数据分区方法

partitioning:这是最简单的分区算法,比如有3个分区,第一条数据放到第一个分区;第二条放到第二个分区;第三条数据放到第三个分区;第四条放到第一个分区;计算规则是
2020年5月15日
其他

图文介绍 SQL 的三种查询计划处理模型,Spark 用了其中两个

Spark作为编译器:深入介绍新的Tungsten执行引擎)。迭代模型的优点是抽象起来很简单,很容易实现,而且可以通过任意组合算子来表达复杂的查询。但是缺点也很明显,存在大量的虚函数调用,会引起
2020年5月13日
其他

经典Hive-SQL面试题

方式2:第一步找到要更新的数据,将要更改的字段替换为新的值,第二步找到不需要更新的数据,第三步将上两步的数据插入一张新表中。第八题需求有一个线上服务器访问日志格式如下(用sql答题)时间
2020年5月12日
其他

在 Hive 中使用 OpenCSVSerde

INTEGER_IDX;+-------+---------+-------------+--------------+-------------+|
2020年5月11日
其他

面试官问我Arrays.sort()为什么可以对int等数组进行排序,我跟面试官扯了半个小时

排序是在程序开发中最常用到的,最常见的就是针对一些数字进行排序。而现实中像商品的名字,订单的日期等进行排序。Java的JDK中就自带了Comparable接口,那么来看下这个,如何与面试官对答如流。
2020年5月10日
其他

如果你也想做实时数仓…

的模式显得越来难以支持灵活的探索&分析需求,这时候便出现了一种数据湖技术,即把原始数据全部缓存到某个大数据存储上,后续分析时再根据需求去解析原始数据。简单的说,数据仓库模式是
2020年5月9日
其他

不懂CompletableFuture?别说你会Java高并发!

1)通过CompletableFuture.supplyAsync创建了一个任务Tests::source,并交由executor1异步执行。用cf1来记录该任务在执行过程中的状态和结果等信息。
2020年5月8日
其他

Apache Spark 中编写可伸缩代码的4个技巧

DataType.fromJson(jsonString).asInstanceOf[StructType]spark.read.schema(newSchema).json(s3Files:
2020年5月6日
其他

深入理解 MySQL ——锁、事务与并发控制

通常是通过在每行数据后边保存两个隐藏的列来实现(其实是三列,第三列是用于事务回滚,此处略去),一个保存了行的创建版本号,另一个保存了行的更新版本号(上一次被更新数据的版本号)
2020年5月2日
其他

Spark SQL 自适应执行优化引擎

数量无法根据每个任务动态调整,只能针对不同的任务进行多次的优化调整,才能得到较为合理的值,但是往往作业的数据量是逐日累增的,所以之前优化的值可能不再适合后续的作业。
2020年5月1日
其他

有赞搜索中台的探索与实践

不同业务对搜索流程的诉求是不一样的,举个例子普通的查询基本就是一次粗排就可以了,有的就需要改写加精排,有的需要组装详情返回,有的需要精排后直接返回,就需要用到流程引擎来编排。
2020年4月30日
其他

Spark Streaming 和 Apache Hudi 整合入门编程指南

加载流数据,这里因为只是测试使用,直接读取kafka消息而不做其他处理,是spark结构化流会自动生成每一套消息对应的kafka元数据,如消息所在主题,分区,消息对应offset等。
2020年4月29日