- 博客(193)
- 资源 (3)
- 收藏
- 关注
原创 HBase基本知识介绍及典型案例分析
本次分享的内容主要分为以下五点:HBase基本知识; HBase读写流程; RowKey设计要点; HBase生态介绍; HBase典型案例分析。首先我们简单介绍一下 HBase 是什么。HBase 最开始是受 Google 的 BigTable 启发而开发的分布式、多版本、面向列的开源数据库。其主要特点是支持上亿行、百万列,支持强一致性、并且具有高扩展、高可用等特点。既然 HBase 是一种分布式的数据库,那么其和传统的 RMDB 有什么区别的呢?我们先来看看HBas
2021-04-25 19:20:19
1406
2
转载 聊聊 acks 参数对消息持久化的影响!
(0)写在前面面试大厂时,一旦简历上写了Kafka,几乎必然会被问到一个问题:说说acks参数对消息持久化的影响?这个acks参数在kafka的使用中,是非常核心以及关键的一个参数,决定了很多东西。所以无论是为了面试还是实际项目使用,大家都值得看一下这篇文章对Kafka的acks参数的分析,以及背后的原理。(1)如何保证宕机的时候数据不丢失?如果要想理解这个acks参数的含义,首先就得搞明白kafka的高可用架构原理。比如下面的图里就是表明了对于每一个To...
2020-10-26 09:23:34
205
转载 外卖界的实时数仓建设
导读:本文主要介绍一种通用的实时数仓构建的方法与实践。实时数仓以端到端低延迟、SQL标准化、快速响应变化、数据统一为目标。在实践中,我们总结的最佳实践是:一个通用的实时生产平台+ 一个通用交互式实时分析引擎相互配合同时满足实时和准实时业务场景。两者合理分工,互相补充,形成易于开发、易于维护、效率最高的流水线,兼顾开发效率与生产成本,以较好的投入产出比满足业务多样需求。01实时场景实时数据在美团外卖的场景是非常多的,主要有以下几点: 运营层面:比如实时业务变化,实时营销效果,当日..
2020-10-23 09:35:09
374
转载 高并发和海量数据下的 9 个 Redis 经典案例剖析
业务背景这次分享主要是围绕 Redis,分享在平时的日常业务开发中遇到的 9 个经典案例,希望通过此次分享可以帮助大家更好的将 Redis 的高级特性应用到日常的业务开发中来。首先介绍一下业务背景:总用户量大概是 5亿左右,月活 5kw,日活近 2kw 。服务端有 1000 多个 Redis 实例,100+ 集群,每个实例的内存控制在 20g 以下。KV 缓存第一个是最基础也是最常用的就是KV功能,我们可以用 Redis 来缓存用户信息、会话信息、商品信息等等。下面这段代码就是通用的缓.
2020-10-16 09:22:52
207
转载 线上故障排查技巧
线上故障主要会包括 CPU、磁盘、内存以及网络问题,而大多数故障可能会包含不止一个层面的问题,所以进行排查时候尽量四个方面依次排查一遍。同时例如 jstack、jmap 等工具也是不囿于一个方面的问题的,基本上出问题就是 df、free、top 三连,然后依次 jstack、jmap 伺候,具体问题具体分析即可。CPU一般来讲我们首先会排查 CPU 方面的问题。CPU 异常往往还是比较好定位的。原因包括业务逻辑问题(死循环)、频繁 GC 以及上下文切换过多。而最常见的...
2020-10-16 09:09:57
701
原创 Linux新建用户赋予hive访问权限
在Linux环境新建一个用户zhangsan,现需要给这个用户访问hive的权限。需要如下两个步骤:切换到hdfs > su hdfs ,然后hdfs dfs -mkdir /user/zhangsan,在/user目录下创建zhangsan这个文件夹 进行授权操作:hdfs dfs -chown -R zhangsan /user/zhangsan...
2020-10-15 11:26:52
823
转载 数仓深度 | 数据模型设计
如果把指标⽐喻成⼀棵树上的果实,那模型就是这棵⼤树的躯⼲,想让果实结得好,必须让树⼲变得粗壮。真实场景举例:⼤多数公司的分析师会结合业务做⼀些数据分析(需要⽤到⼤量的数据),通过报表的⽅式服务于业务部⻔的运营。但是在数据中台构建之前,分析师经常发现⾃⼰没有可以复⽤的数据,不得不使⽤原始数据进⾏清洗、加⼯、计算指标。由于他们⼤多是⾮技术专业出⾝,写的SQL质量⽐较差,甚⾄⻅过5层以上的嵌套。这种SQL对资源消耗⾮常⼤,会造成队列阻塞,影响其他数仓任务,会引起数据开发的不满。数据开发会要求收回分析师的原
2020-10-10 13:54:23
553
1
转载 Flink 消费 Kafka 数据批量写入 MySQL 多个表
业务场景:sdk 数据统一入Kafka 的一个 topic(topic_sdk_log),其中包含多种事件类型数据,如:登录,注册,激活等,需要将 Kafka 中数据根据事件类型分别写入 MySQL 多个表。这里使用 Flink 每5秒写入 MySQL 不同表。数据示例:{"key":"login","data":{"_game_version":"","_package_id":"12280200","_core_account":"ysdk_oGFjT0XEjdefIOgd7uApwWUX2.
2020-09-28 19:16:29
2455
1
转载 HiveSQL常用优化方法全面总结
Hive作为大数据领域常用的数据仓库组件,在平时设计和查询时要特别注意效率。影响Hive效率的几乎从不是数据量过大,而是数据倾斜、数据冗余、job或I/O过多、MapReduce分配不合理等等。对Hive的调优既包含对HiveQL语句本身的优化,也包含Hive配置项和MR方面的调整。目录 列裁剪和分区裁剪 谓词下推 sort by代替order by group by代替distinct group by配置调整 map端预聚合 .
2020-08-03 11:03:21
241
转载 Phoenix(HBase SQL)核心功能原理及应用场景介绍
HBase用户福利新用户9.9元即可使用6个月云数据库HBase,更有低至1元包年的入门规格供广大HBase爱好者学习研究,更多内容请参考链接云数据库 HBase 请戳这里 !!!
2020-07-30 14:04:46
251
转载 python 68个常用内置函数
内置函数就是python给你提供的, 拿来直接用的函数,比如print.,input等。截止到python版本3.6.2 python一共提供了68个内置函数。#68个内置函数# abs() dict() help() min() setattr()# all() dir() hex() next() slice() # any() divmod()
2020-07-24 15:52:14
948
2
原创 spark通过JDBC读取hive事务表
目前spark2.x版本底层并不支持spark直接访问hive事务表,只能获取表结构,不能获取数据,有兴趣的同学可以试验一下。网上也查阅了很多相关的资料,现在把它们总结一下,目前能想到的解决方案就是通过jdbc的方式获取,以下就是解决方案:sql: str = "(select * from std.ice_tiantongfen_back_for_resolve_url_2) as temp"jdbcDF = sparkSession.read \ .format("jdbc") \
2020-07-20 18:21:28
2833
5
转载 Spark 3.0 中七个必须知道的 SQL 性能优化
本文来自IBM 东京研究院的高级技术人员 Kazuaki Ishizaki 博士在Spark Summit North America 2020 的 《SQL Performance Improvements at a Glance in Apache Spark 3.0》议题的分享。Spark 3.0正式版在上个月已经发布了,其中更新了很多功能,参见过往记忆大数据的Apache Spark 3.0.0 正式版终于发布了,重要特性全面解析。本文将介绍 Spark 3.0 在 SQL 方面的优化。...
2020-07-09 10:18:58
962
原创 30个极简Python代码
学 Python 怎样才最快,当然是实战各种小项目,只有自己去想与写,才记得住规则。本文是 30 个极简任务,初学者可以尝试着自己实现;本文同样也是 30 段代码,Python 开发者也可以看看是不是有没想到的用法。1重复元素判定以下方法可以检查给定列表是不是存在重复元素,它会使用 set() 函数来移除所有重复元素。def all_unique(lst):return len(lst)== len(set(lst))x = [1,1,2,2,3,2,3,4,5,6]y = [1,2,3,
2020-07-07 11:37:59
197
原创 python10个骚操作
众所周知,Python 以语法简洁著称,同样实现一个功能,Java 可能要十来行,Python 一行就可以搞定。Python 的代码之所以这么优雅,完全归功于其独有的特性,只要你掌握了这些特性,同样可以写出像诗一样的代码。下面我们就一起看看 Python 中的骚操作。0x00 Hello World对于大部分程序员来说,第一个程序应该都是 "Hello World!" 了,Python 直接将该入门程序做成了一个包。In[1]:import__hell...
2020-07-07 11:31:34
398
转载 Adaptive Execution如何让Spark SQL更高效更好用?
文章目录背景 动态设置 Shuffle Partition Spark Shuffle 原理 原有 Shuffle 的问题 自动设置 Shuffle Partition 原理 使用与优化方法 动态调整执行计划 固定执行计划的不足 SortMergeJoin 原理 BroadcastJoin 原理 动态调整执行计划原理 使用与优化方法 自动处理数据倾斜 解决数据倾斜典型方案 自动解决数据倾斜 使用与优化方法 本文转发自技术世界,原文链接 htt
2020-07-02 09:08:02
105
转载 JVM 发生 OOM 的 8 种原因、及解决办法
1. Java 堆空间发生频率:5颗星造成原因 无法在 Java 堆中分配对象 吞吐量增加 应用程序无意中保存了对象引用,对象无法被 GC 回收 应用程序过度使用 finalizer。finalizer 对象不能被 GC 立刻回收。finalizer 由结束队列服务的守护线程调用,有时 finalizer 线程的处理能力无法跟上结束队列的增长 解决方案 使用-Xmx增加堆大小 修复应用程序中的内存泄漏 2. GC 开销超过限制发生频..
2020-06-28 15:16:25
472
转载 探究与解决YARN Container分配过于集中的问题
最近生产上经常资源充足yarn还会将spark的executor集中分配到个别的nodemanager的问题,在网上找到了一篇有理有据的文章,推荐一下。https://blog.csdn.net/nazeniwaresakini/article/details/105137788答案放最前面将YARN配置中的yarn.scheduler.fair.assignmultiple参数设为false,或者手动设定yarn.scheduler.fair.max.assign参数的值为一个较小的正数(如3
2020-06-28 15:11:47
1095
转载 来自 Facebook 的 Spark 大作业调优经验
Facebook Spark 的使用情况在介绍下面文章之前我们来看看 Facebook 的 Spark 使用情况:•Spark 是 Facebook 内部最大的 SQL 查询引擎(按 CPU 使用率计算)•在存储计算分离的集群上使用 Spark,也就是存储和计算资源可以单独扩展升级。•考虑到 Facebook 的规模,效率是 Spark 的首要任务,主要包括以下两个效率:•计算效率:优化CPU和内存使用,CPU 的 40% 时间花在读写上。•存储效率:优化磁盘大小和IOPS:存储格式对磁盘占用大
2020-06-15 23:06:34
452
原创 根据数据库对象构建Persistence对象
//independentDb为数据库对象ObjectPersistence per = ObjectPersistenceFactory.Create(independentDb);
2012-12-21 09:27:03
332
原创 绑定树结点的示例
下面是题目: 已知表table_department中有两个字段,分别为d_id,d_name。d_id记录的是部门编码, d_name记录的是部门名称,各部门的组织方式如下:A为顶级部门,A部门的下级部门使用AA、BA、CA……表示AA的下级部门使用AAA、BAA、CAA……表示BA的夏季部门使用ABA、BBA、CBA……表示以此类推。新建一个应用程序,写一个页面或窗体
2012-10-11 09:25:19
449
转载 采用帮助类的方式更改管理界面网格数据后刷新
IGetManagementDataService getDataService = (IGetManagementDataService)supporter.GetService(typeof(IGetManagementDataService)); if (getDataService != null)
2012-08-09 11:14:50
439
原创 获取当前期间对应的职员表,组织机构表,职位表
// 获取当前期间对应的职员表PeriodHRRelatedTableLogic periodHRTablelogic = new PeriodHRRelatedTableLogic(); string sEmployeeTableName = periodHRTablelogic.GetCurrentPeriodHRRelatedTableName("HR_Employee_Info"
2012-08-01 14:50:34
312
原创 重新绑定管理界面网格数据
_supporter.AddService(typeof(IGetManagementDataService), new CusGetManagementDataService(_supporter , () => {//根据实际需求获取网格所需要的数据 return this.LogicObj.GetData();
2012-07-31 16:06:37
551
原创 WPF绘制自定义窗口
WPF是制作界面的一大利器,下面就用WPF模拟一下360的软件管理界面,360软件管理界面如下: 界面不难,主要有如下几个要素:窗体的圆角自定义标题栏及按钮自定义状态栏窗体的半透明效果窗体4周有一圈半透明阴影(抓的图上看不出来)实现思路很简单,首先隐藏默认窗口的标题栏和边框,然后用WPF的Border或Canvas等元素模拟定义窗体的标题栏、内容区和状态栏。
2012-07-07 20:47:24
700
原创 引用参数(ref)以及输出参数(out)
我们已经知道了值类型和引用类型,但是一定要区别"值类型和值参数","引用类型和引用参数",这一点是最容易让初学者搞晕的,说白了,所谓"类型",就是一种相似或相同的东西的抽象,它表示了一种相类似,例如,把东西分"类",此时这个类就是我们说的类型,而值参数和引用参数呢?无论这两个中的哪个,都离不开"参数"二字,什么是参数?或者说参数是在什么里面的?答案当然是方法里面,离开了"方法()"的这对"小括号(
2012-06-25 09:28:46
1030
原创 Linq To Object(二)
Linq 的基本用法: Sort , OrderBy, Skip,Take,Where,Compare,Join,Distinct ,InsertRange 等关键词Select用法 var selectedItems = from item in items where item.ParentID == parentID orderby item.SortIndex de
2012-06-21 12:16:54
402
原创 LINQ to Object (一)
本章包括:■ LinqBooks 运行示例■ 集合查询■在ASP.NET和Windows Forms中使用LINQ■ 主要的标准查询操作符在本书的剩余部分的代码示例是一个书籍分类系统。在本站的开始,我们会对此进行描述。本章讲述的大部分LINQ特性只是Object LINQ的特性。我们会关注如何编写语言集成的查询以及如何使用标准查询操作符。本章的目标是使你熟悉主要标准查询操作
2012-06-21 09:54:26
1148
原创 Blend实例中文教程系列文章汇总
Expression Blend实例中文教程系列索引,帮助大家查看文章。 Expression Blend实例中文教程(1) - 开篇 Expression Blend实例中文教程(2) - 界面快速入门 Expression Blend实例中文教程(3) - 布局控件快速入门Grid Expression Blend
2012-06-19 09:50:26
647
原创 快速学习Expression Blend开发三要素
多数是刚入门的Silverlight开发人员,不少人在问,目前软件开发角色分工细化,是不是做后台的,就可以不用学习前台设计?这个问题让我想起曾经在园子里看到过相关的讨论,同时也让我想起工作中软件开发角色的分工。为了不偏离本篇的主题,我不再扩展职业分工化的讨论,直接说说我对上面问题的回答,在我个人来看,作为软件开发人员,专注是必须的,但是专注的同时也需要扩展自己的眼界,学习相关的辅助开发工具,不仅可
2012-06-19 09:47:30
520
原创 20个常用Expression Blend设计开发技巧
微软Expression Blend是一款优秀的用户界面设计工具,该工具可被用于Silverlight,WPF和Windows Phone 7应用UI设计,其内置SDK类库包含大量代码帮助设计人员无需输入任何后台代码实现动态交互效果。如果您对Expression Blend还不熟悉,推荐阅读以下几本专业教程书籍:Microsoft Expression Blend 4 Unleashe
2012-06-19 09:45:01
1277
原创 8天入门wpf—— 第三天 样式
说起样式,大家第一反应肯定是css,好的,先上一段代码。 1 html{border:0;} 2 ul,form{margin:0; padding:0} 3 body,div,th,td,li,dd,span,p,a{font-size:12px; font-family:Verdana,Arial,"宋体";color:#575757;} 4 h3,input{font-
2012-06-18 20:40:09
1384
原创 Linq操作DataTable
List employeeCodeList = new List(); List projectCodeList = new List(); DataTable dt = GetDataTable("select * from SalaryDaily", "SalaryDaily"); DataTable dtE
2012-06-13 23:08:36
332
转载 Sql Server参数化查询之创建合理的索引(上篇)
本文主要作为优化查询性能的一些知识储备,感觉知识点有些散,不知道起啥名字好,独立成文又没有达到把每个点都说透彻那样的高度,且就当做创建合理索引的一个楔子把。本文对实际应用没有太大的指导意义,但可以加深我们对SQL Server理解,夯实我们的基本功,就像小说里面的武功一样,没有足够的内功基础,给你再好的秘籍你也成不了武林高手。序言 写这篇文章时表示鸭梨很大,主要是对SQL Ser
2012-06-11 09:21:22
415
原创 运行缓慢的查询语句(阻塞)(二)--识别阻塞
这些天看了一篇微软官方发布的MS SQL Server2008性能问题处理及优化的英文文档,里面知识点介绍地很详细,在现实工作中也很实用,遂产生了想把它翻译一下的念头。翻译的过程,既可以帮助自己复习一下这些技术,也可以向其他还不熟悉这一块的朋友介绍一些新的知识,何乐而不为呢。只是这篇文章有点长,我会分成几篇随笔去介绍,所以,不光是对我耐性的考验,也是对你的考验哦! ------------
2012-06-08 15:45:39
505
原创 SQL Server 2008 释放堆表空间
前些天我遇到一个问题,一个200Gb的库,其中一个表大约2000W行数据,我删除了其中约600W行数据。我想把删除后未使用的空间腾出来。按照以往的经验,重建这个表上的聚集索引就可以了。可是这次没有起效。原来这个表上只有一个非聚集主键索引。如何释放这个堆表未使用的空间首先来模拟出我遇到的情况:USE masterGOCREATE DATABASE TEST;GOU
2012-06-08 15:44:15
1132
转载 肥兔读书笔记之Effective C#(第2版) 第一章
Effective C#(第2版)中文名称为: C#高效编程 改进C#代码的50个行之有效的办法(第2版)这本书的中文名字起的很蛋疼,其它Effective系列的书名都是Effective XXX,在网上商城输入Effective就能全找到,唯独这本死活找不到,后来偶然机会才知到原来中文名称叫做C#高效编程 改进C#代码的50个行之有效的办法,真是蛋疼至极。第一章 C#语
2012-06-07 12:35:56
390
原创 架构设计目录
架构引用维基百科:软件体系结构是构建计算机软件实践的基础。与建筑师设定建筑项目的设计原则和目标,作为绘图员画图的基础一样,一个软件架构师或者系统架构师陈述软件构架以作为满足不同客户需求的实际系统设计方案的基础。从和目的、主题、材料和结构的联系上来说,软件架构可以和建筑物的架构相比拟。一个软件架构师需要有广泛的软件理论知识和相应的经验来实施和管理软件产品的高级设计。软件架构师定义和设计软件的模块化,
2012-06-06 16:59:06
222
原创 深入了解ViewState
Web 是没有状态的,ASP.NET 页面也没有状态,它们在到服务器的每个往返过程中被实例化、执行、呈现和处理。作为 Web 开发人员,您可以使用众所周知的技术(如以会话状态将状态存储在服务器上,或将页面回传到自身)来添加状态ViewState是一种机制,ASP.NET 使用这种机制来跟踪服务器控件状态值,否则这些值将不作为 HTTP 窗体的一部分而回传。也就是说在页面刷新或者回传的时候控
2012-05-31 17:23:23
314
原创 管理界面重新订制卡片窗体关闭的刷新事件
IAddButtonClick ac = _supporter.ButtonClickEventAttach.FindButtonClick(typeof(IAddButtonClick)) as IAddButtonClick; if ( ac!=null){ ac.AfterDO += new EventHandler(ac_AfterDO);} void ac_
2012-05-30 13:23:31
222
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人