自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 资源 (10)
  • 收藏
  • 关注

原创 Hadoop性能调优建议

5、HDFS的Handler数量由dfs.namenode.handler.count、dfs.namenode.service.handler.count和dfs.datanode.handler.count控制。Dfs.namenode.service.handler.count Namenode的RPC服务端用于监听来自datanode和所有非客户端节点请求的线程数。mapreduce.task.io.sort.mb 一般设置为容器内存的25%,加大可以减少map中间结果spill到硬盘次数。

2023-11-21 17:31:58 1226 1

原创 一文了解数据治理全知识体系!

在激烈的市场竞争下,大数据厂商提出来数据治理的各种理念,有的提出覆盖数据全生命周期的数据治理,有的提出以用户为中心的自服务化数据治理,有的提出减少人工干预、节省成本的基于人工智能的自动化数据治理,在面对这些概念的时候,我们一方面要对数据现状有清晰的认识,对数据治理的目标有明确的诉求,另一方面还要知道数据治理中各种常见的误区,跨越这些陷阱,才能把数据治理工作真正落到实处,项目取得成效,做到数据更准确,数据更好取,数据更好用,真正地用数据提升业务水平。首先亮明作者的观点:这两种看法都是不对的,至少是片面的。

2023-09-25 14:50:20 458

原创 Embedding入门介绍以及为什么Embedding在大语言模型中很重要

在机器学习和自然语言处理中,embedding是指将高维度的数据(例如文字、图片、音频)映射到低维度空间的过程。embedding向量通常是一个由实数构成的向量,它将输入的数据表示成一个连续的数值空间中的点。简单来说,embedding就是一个N维的实值向量,它几乎可以用来表示任何事情,如文本、音乐、视频等。在这里,我们也主要是关注文本的embedding。而embedding重要的原因在于它可以表示单词或者语句的语义。

2023-08-03 11:26:54 2758

原创 大语模型前世今生

从历史上来看,自然语言处理的研究范式变化是从规则到统计,从统计机器学习到基于神经网络的深度学习,这同时也是语言模型发展的历史。要了解语言模型的发展历史,首先我们需要认识什么是语言模型。

2023-06-25 18:12:00 967

转载 ARM JDK上CMS一个极小概率发生的bug

这是一个极小概率发生的 bug,因此隐藏的很深。解这个 bug 也耗费了很长时间,虽然最后修复方案就是一行代码,但涉及的知识面还是比较广的。其中 memory barrier 是一个有点绕的概念,GC 算法的细节也需要理解到位。如果读者第一次接触 JVM,希望有耐心看下去,反复推敲,相信你一定会有所收获。

2023-06-25 14:31:40 529

原创 网易NDH基于Impala的高性能SQL引擎建设实践

导读:本文将从四个方面来进行介绍。首先是分析在网易NDH中使用 Impala 过程遇到的一些痛点;第二个部分是基于这些痛点问题,我们提出了建设高性能SQL引擎的方案,以及这些方案是基于什么原则来创建的;第三个是基于这些原则,我们做了哪些的优化实践的尝试;最后会举一个线上的使用案例,看一下具体优化效果。▌Impala介绍在开始正式议题前,首先简单介绍一下Impala。Impala是一个存算分离的MPP架构数据查询分析引擎,它的特点是有比较高的查询性能。同时 Impala 的历史非常悠久,所以在很多的企

2023-06-08 10:32:18 1236

转载 Photon论文解读 : A Fast Query Engine for Lakehouse Systems

论文首先阐述了lakehouse的作用。首先,企业会将大量数据存储在弹性、可扩展的data lake上比如amazon s3、azure data lake storage,google cloud storage等,这些数据可能是以apache parquet、orc、delta lake等open file format存储的raw、uncurated datasets,客户/用户可以通过presto,spark等计算引擎访问,工作负载包括BI,ml等。

2023-02-06 15:49:03 370

转载 深度解读|Spark 中 CodeGen 与向量化技术的研究

Spark 项目是在2010年左右开源出来的,越来越多的人了解到了 Spark 这个开源大数据项目的存在。从其诞生之初到如今 Spark 3.2.0 版本的发布,整个大数据圈中凡是用了 Spark 的公司和个人,都一直致力于对它的性能进行极致的优化。时至今日,国内外的各大厂商都把性能优化的矛头直指向量化技术,意图能够把 Spark 的性能完全压榨出来,让它能够更加逼近硬件的性能。

2022-11-21 20:25:24 973

转载 HDFS NameNode重启优化

NameNode重启甚至全集群重启在整个Hadoop集群的生命周期内是比较频繁的运维操作,优化重启时间可以极大提升运维效率,避免可能存在的风险。本文通过分析NameNode启动流程,并结合实践过程简单罗列了几个供参考的有效优化点,借此希望能给实践过程提供可优化的方向和思路。...

2022-08-10 14:20:18 1062

转载 HDFS NameNode内存剖析二

上文从NameNode内部数据结构的视角,对它的内存全景及几个关键数据结构进行了简单解读,并结合实际场景介绍了NameNode可能遇到的问题,还有业界进行横向扩展方面的多种可借鉴解决方案。当前内存空间预期能够支撑多长时间。何时调整堆空间以应对数据规模增长。增加多大堆空间。重启时间变长。潜在的FGC风险。由此可见,对NameNode内存使用情况的细粒度掌控,可以为优化内存使用或调整内存大小提供更好的决策支持。...

2022-08-10 14:15:24 472

转载 HDFS NameNode内存剖析一

从整个HDFS系统架构上看,NameNode是其中最重要、最复杂也是最容易出现问题的地方,而且一旦NameNode出现故障,整个Hadoop集群就将处于不可服务的状态,同时随着数据规模和集群规模地持续增长,很多小量级时被隐藏的问题逐渐暴露出来。所以,从更高层次掌握NameNode的内部结构和运行机制尤其重要。除特别说明外,本文基于社区版本Hadoop-2.4.1[1][2],虽然2.4.1之后已经有多次版本迭代,但是基本原理相同。NameNode管理着整个HDFS文件系统的元数据。......

2022-08-10 14:04:17 808 1

原创 Yarn Shared Cache 功能简介

Yarn Shared Cache (Yarn 共享缓存服务)是社区 Hadoop 2.9 版本之后上新增的功能,参见YARN-1492,它的目的是提供了一种安全且可扩展的方式向 HDFS 上传和管理应用程序依赖资源,降低 Yarn application 因为依赖资源的上传以及本地化带来的时间消耗。通过使用 Yarn Shared Cache, 对于相同的依赖资源,YARN application 可以直接使用其他 application 上传的资源或者该 application 的先前运行时自.

2022-04-28 14:33:35 1571

转载 HDFS 短路本地读Short-Circuit Local Reads

Hadoop的一个重要思想就是移动计算,而不是移动数据。我们更愿意尽可能将计算移动到数据所在节点。因此,HDFS中经常出现客户端和数据在一个节点上,当客户端读取一个数据块时,就会出现本地读取。例如HBase场景,ResionServer写数据一般在HDFS中都会存储三备份副本并且肯定会往本地节点写一备份,当ResionServer读取该数据时也会优先选择同一节点的数据进行读取。短路读的演进1、网络读最初,HDFS中本地读取的处理方式和远程读取相同,也是通过网络读来实现。客户端通过TCP套

2022-04-28 14:16:04 576

转载 HDFS集中式缓存机制

HDFS集中式的缓存管理 (HDFS centralized cache management)是在Hadoop2.3.0版本发布的特性。这个功能对于提升 Hadoop 系统和上层应用的执行效率与实时性有很大帮助,本文从原理、架构和代码剖析三个角度来探讨这一功能。主要解决了哪些问题用户可以根据自己的逻辑指定一些经常被使用的数据或者高优先级任务对应的数据,让他们常驻内存而不被淘汰到磁盘。例如在 Hive 或 Impala 构建的数据仓库应用中 fact 表会频繁地与其他表做 JOIN,显然应该让 fa

2022-04-27 11:21:10 665

原创 MapReduce NativeTask优化详解

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结基本介绍NativeTask 是 Hadoop MapReduce 的高性能 C++ API 和运行时。为什么叫 NativeTask 是因为它是一个只专注于数据处理的原生计算单元,这正是 Task 在 Hadoop MapReduce 上下文中所做的事情。换句话说,NativeTask 不负责资源管理、作业调度和.

2022-04-27 08:42:01 2796 1

原创 HBase HFile文件原理解析

1. HFile原理概述最初的HFile格式(HFile V1),参考了Bigtable的SSTable以及Hadoop的TFile(HADOOP-3315)。如下图所示:HFile在生成之前,数据在内存中已经是按序组织的。存放用户数据的KeyValue,被存储在一个个默认为64kb大小的Data Block中,在Data Index部分存储了每一个Data Block的索引信息{Offset,Size,FirstKey},而Data Index的索引信息{Data Index Offset,

2022-04-09 18:41:09 1604 1

转载 HUDI原理及深入探究(二)

接下来讲一讲Hudi这些功能的实现原理: Merge on Read(MOR表) Transactional(事务) Incremental Query(增量查询) 由于这篇文章会用到上一篇文章中讲到的知识,还没有读过的朋友,推荐先读完上一篇文章。01. 为什么需要Merge on ReadMerge on Read(简称MOR表),是Hudi最初开源时尚处于“实验阶段”的新功能,在开源后的0.3.5版本开始才告完成。现在则是Hudi最常用的表类型。之所以在COW表

2022-03-23 17:06:33 2095 1

转载 HUDI原理及深入探究(一)

01. 背景首先介绍下Hudi的背景,因为背景对理解一个项目很关键。Hudi,正式的全称是Hadoop Upsert Delete and Incremental。其实关于这个名字也不用太较真,因为都是后来附会上去的,从源代码里可以看到这个项目最初的名字是hoodie,和现在的名字发音相同。但这个名字还是透露了一些信息的,那就是Hudi项目最初的设计目标:在hadoop上实现update和delete操作。为什么会有update和delete的需求?uber在开源Hudi的文章中解释了:最

2022-03-15 17:41:04 4497 3

原创 Kerberos下pyhive使用

在使用DataEngine大数据平台时,一般集群都是不联网的,使用pyhive时99%工作都是在安装相关的python依赖包,并且不同环境上缺少的依赖python包也不太一样,本篇文章是在DataEngine大数据集群内或客户端上安装pyhive,使用python版本为2.7。本篇文章介绍下如何在离线情况下安装pyhive。安装依赖包在安装Pyhiv前需要先安装如下依赖:分别对安装包进行解压,执行python setup.py install 进行安装,安装顺序如下:future-

2021-09-29 15:12:42 1271 2

翻译 【译文】KKR与CD&R53亿美元收购Cloudera影响

今天标志着Cloudera激动人心的新篇章的开始。Cloudera将成为一家拥有灵活性和资源的私营公司,以加速产品创新、云转型和客户增长。Cloudera将受益于Clayton、Dubilier&Rice(CD&R)和KKR的运营能力、资本支持和专业知识,这两家公司是世界上经验最丰富、最成功的全球投资公司,因支持其支持的业务增长战略而被公认。作为一家私营公司,我们可以更加灵活,并将继续专注于创新投资,巩固我们的领导地位,并在竞争中保持领先地位。我们与CD&R和KKR的合作关系将使

2021-09-17 16:47:40 219

原创 HBase常见问题及调优总结

1. HBase Schema及Rowkey设计HBase 在实际生产使用中,需要根据具体的业务使用场景,给出相匹配的Rowkey 设计及HBase表Schema 设计,提升HBase 的使用性能,同时避免出现热点瓶颈问题。1.1 HBase 表Schema 设计原则在HBase 中有许多不同的数据集,具有不同的访问Schema 级别和服务级别的期望,下面的设计法则只是概述:目标 region 的大小介于10 到50 GB 之间。 单个单元格大小不要超过10 MB,如果使用MOB,则为

2021-09-15 16:15:56 1459

原创 HBCK2工具使用说明

HBCK2工具介绍在实际生产环境中,会因为各种各样的因素(如用户的误操作、HDFS 故障、HBase 集群节点掉电等),可能使HBase 集群出现故障,导致集群不可用,常见的故障有Region 出现RIT 问题、Procedure出现卡死情况等。为了解决这些问题,HBase社区提供了HBCK 工具来进行修复。在HBase1.x版本中自带hbck(即hbck-1)工具包命令,可以直接去向 region server 或者 hdfs 发送请求进行修复,但是在HBase2.x版本中集群内部操作全部都被挪到了

2021-09-06 14:39:54 1496

原创 一次HBase2.0 RIT故障处理

关于HBCK2的介绍,可以查看文章 hbck2工具使用指南这里不做太多赘述。本系列文章主要结合线上HBase环境出现一系列问题,进行分析HBCK2工具中出现问题如何具体解决,以及其中的原理及实现进行分析。背景介绍我们在某项目上使用CDH版本的HBase2.1.0,某日忽然接到告警业务中断,HBase无法读写。具体原因大概是开发人员修改了个hdfs的配置,重启HDFS短期影响了业务,HDFS启动期间,又对HBase进行了重启,发生长时间不能读写了。查看HDFS和HBase的服务状态都是正常的,

2021-09-06 13:56:10 1657

原创 Kerberos下Dbeaver连接Hive

上篇介绍了Dbeaver的介绍和安装,本篇不在啰嗦。直接进入主题。认证文件准备Kerberos环境下使用DBeaver连接Hive需要事先准备连接用户的认证文件和集群的krb5.conf配置文件,具体可在管理平台界面的集群管理->安全管理->用户管理下载,使用的用户需要提前创建并绑定角色赋予访问Hive表的权限。注:使用其他平台如cdh等自行百度如何获取认证文件下载完认证文件后得到用户keytab和krb5配置,放置在DBeaver的安装目录下即可,比如新建kerberos目

2021-09-01 11:18:28 2081 1

原创 Kerberos环境下使用Dbeaver链接Phoenix

DBeaver下载DBeaver 是一个基于 Java 开发,免费开源的通用数据库管理和开发工具,使用非常友好的 ASL 协议。可以通过官方网站或者 Github 进行下载。由于 DBeaver 基于 Java 开发,可以运行在各种操作系统上,包括:Windows、Linux、macOS 等。DBeaver 采用 Eclipse 框架开发,支持插件扩展,并且提供了许多数据库管理工具:ER 图、数据导入/导出、数据库比较、模拟数据生成等。DBeaver 通过 JDBC 连接到数据库,可以支持几乎所

2021-09-01 09:44:10 1529 1

原创 Spark源码系列(四):Spark不同运行模式

一、Spark不同运行模式首先来看Spark关于Driver和Executor的解释:Driver:运行Application的main()函数并创建SparkContext(应用程序的入口)。驱动程序,负责向ClusterManager提交作业。和集群的executor进行交互 Executor:在worker节点上启动的进程,执行器,在worker node上执行任务的组件、用于启动线程池运行任务。每个Application拥有独立的一组Executors。Spark支持多种模式,包括l..

2021-08-31 15:52:23 1844

原创 Spark源码系列(一):Spark作业提交流程

Spark支持spark-shell、spark-sql、spark-submit多种使用方式,但最终调用的代码都是通过SparkSubmit进行提交,上一篇介绍到spark-submit的示例:# spark本地模式提交作业./bin/spark-submit \ --class org.apache.spark.examples.SparkPi \ --master local /path/to/examples.jar \ 1000下面就来分析下spark-submit..

2021-08-23 11:38:40 1027

原创 Spark源码系列(二):SparkContext源码分析

1、功能描述本篇文章就要根据源码分析SparkContext所做的一些事情,用过Spark的开发者都知道SparkContext是编写Spark程序用到的第一个类(新版本里是SparkSession,但其内部还是调用SparkContext),足以说明SparkContext的重要性;这里先摘抄SparkContext源码注释来简单介绍介绍SparkContext,注释的第一句话就是说SparkContext为Spark的主要入口点,简明扼要,如把Spark集群当作服务端那Spark Driver就是.

2021-08-12 20:06:05 183

原创 Spark源码系列(零)-如何开始分析Spark源码

如果想更深入的理解Spark,那么就需要深入去研究下源码实现。关于Spark源码下载可以到官方网站或者github进行下载,而阅读源码的最好方式就是调试,Spark源码调试有很多种办法,本文介绍一种我常用的调试方法。在调试Spark代码之前,可以先找一台linux主机安装Spark,这里最简单的方式用local方式即可,只需要下载官网编译好的Spark安装包即可,当然也可以部署一套Standalone模式的SPark集群,或者使用Spark on Yarn模式(推荐这种方法,不过需要搭建一套Hadoop

2021-08-11 17:22:27 373

原创 Hive基准测试神器-hive-testbench

TPC-DS测试概述在对Hive的语法及性能进行测试时,需要构造大量数据,TPC-DS测试基准是TPC组织推出的用于替代TPC-H的下一代决策支持系统测试基准。在使用TPC-DS时需要进行编译,生成数据以及查询SQL还要把Hive建表语句进行修改手动创建,数据也需要再上传hdfs,操作比较麻烦,数据生成性能也较差。hive-testbench是Hortonwork基于TPC-H和TPC-DS封装的专门用于Hive的基准测试工具,自动生成HDFS数据,并进行建表操作,使用非常方便。TPC-H和TPC-

2021-08-10 16:28:19 3775 7

原创 Git基础操作命令

1. 下载代码gitclone git库2. 查看分支查看当前分支:git branch查看所有分支(包括本地和远端):git branch -a查看所有远端分支:git branch -r3. 创建新分支并切换gitcheckout-b new-branch origin/branch4. 查看提交日志...

2019-04-27 13:59:22 264

转载 【设计模式】责任链模式

在阎宏博士的“JAVA与模式”一书中开头是这样描述责任链(责任链)模式的:  责任链模式是一种对象的行为模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织和分配责任。从击鼓传花谈起  击鼓传花...

2018-11-16 20:27:22 227

转载 SparkStreaming滑动窗口应用

Spark-Streaming之window滑动窗口应用,Spark Streaming提供了滑动窗口操作的支持,从而让我们可以对一个滑动窗口内的数据执行计算操作。每次掉落在窗口内的RDD的数据,会被聚合起来执行计算操作,然后生成的RDD,会作为window DStream的一个RDD。网官图中所示,就是对每三秒钟的数据执行一次滑动窗口计算,这3秒内的3个RDD会被聚合起来进行处理,然后过

2018-02-07 19:57:18 994

原创 windows下spark2.1源码编译及修改

Windows编译spark源码过程对spark源码修改后需要重新编译spark源码,由于当前linux虚拟机上无法通过代理联网,公司提供的maven仓库也ping不通,只能在windows上编译spark源码。编译过程如下:1. 在spark官网下载spark源码http://spark.apache.org/downloads.html  选择2.1.0源码下载。2.

2017-05-05 15:42:15 4188

转载 hbase热点问题(数据倾斜)解决方案---rowkey散列和预分区设计

Hbase的表会被划分为1....n个Region,被托管在RegionServer中。Region二个重要的属性:Startkey与EndKey表示这个Region维护的rowkey的范围,当我们要读写数据时,如果rowkey落在某个start-end key范围内,那么就会定位到目标region并且读写到相关的数据。    默认情况下,当我们通过hbaseAdmin指定TableDes

2016-12-15 10:16:11 2551

转载 Apache Spark:大数据处理统一引擎

工业和研究中数据的大幅增长为计算机科学带来了巨大的机会与挑战。由于数据大小超过了单台机器的能力,用户需要新的系统将计算扩展到多个节点。因此,针对不同计算工作负载的新集群编程模型已呈爆炸式增长。图1这些模型相对专业化。例如支持批处理的MapReduce,支持迭代图算法的Dreme。在开源Apache Hadoop堆栈中,类似Storm和Impala的系统也是特有的。即使在关系

2016-12-06 17:50:24 1366

转载 HBase运维手册

1. region情况需要检查1. region的数量(总数和每台regionserver上的region数)2. region的大小如果发现异常可以通过手动merge region和手动分配region来调整从CDH前台和master前台以及regionServer的前台都可以看到region数量,如master前台:      在

2016-11-30 08:46:38 2413

转载 为什么HBase数据查询快速

快速查询可以分作两方面: 一是根据亿级的记录中快速查询,二是以实时的方式查询数据。A:如果快速查询(从磁盘读数据),hbase是根据rowkey查询的,只要能快速的定位rowkey,  就能实现快速的查询,主要是以下因素:     1、hbase是可划分成多个region,你可以简单的理解为关系型数据库的多个分区。      2、键是排好序了的      3、按列存储的

2016-11-24 16:17:53 3989

原创 Java操作HBase时报NotServingRegionException异常

目前开始学习Hbase,通过API在HBase中建表,代码如下:Configuration conf = HBaseConfiguration.create(); conf.set("hbase.zookeeper.quorum", "cmaster1.hadoop.xxt.cn,cmaster0.hadoop.xxt.cn,cslave0.hadoop.xxt.cn"); Co

2016-11-24 14:14:57 3811 1

原创 bulkload向hbase表中入数据

1、为何要 BulkLoad 导入?传统的 HTableOutputFormat 写 HBase 有什么问题?我们先看下 Hbase 的写流程:通常 MapReduce 在写HBase时使用的是 TableOutputFormat 方式,在reduce中直接生成put对象写入HBase,该方式在大数据量写入时效率低下(HBase会block写入,频繁进行flush,split,comp

2016-11-24 09:11:38 1110

02-Spark离线和实时电影推荐系统直播回放(视频+文档+代码).txt

基于Spark流行的大数据工具,开发一套电影推荐系统,让大家体验到如何实现自己的“猜你喜欢”的推荐。 很多电商和购物网站以及一些手机上的应用,猜你喜欢已经成为了必备功能,它对网站的销售有着很明显的刺激作用。

2019-12-02

c++MFC编写备忘录,编译运行通过

基于MFC用C++编写的备忘录,可以添加事件提醒,删除事件提醒。自行设置提醒时间,时间到后在桌面弹出提醒窗口

2010-12-25

c++编写的十字路口交通灯程序

c++编写的十字路口交通灯,红灯亮时车辆停止,绿灯亮则通行,相交的哪条路则相反

2010-12-23

c++编写的具有添加事件和提醒功能的备忘录

基于MFC编写备忘录,实现基本提醒功能,可以添加事件,查询事件,适合初学者学习。

2010-12-22

C++MFC编写的计算器

简单实现计算器的加减乘除。设计简单,代码容易看懂,适合初学者学习。

2010-12-15

编译原理 实现高亮语法程序以及课后答案全套

编译原理 陈意云主编的课后习题答案 以及高亮语法的实现,加上考试重点

2010-12-13

用C++编写的打气球的小游戏,课程设计

大二的时候做的。开始的时候气球从底部升起,点击气球气球消失,同时分数加100

2010-12-13

基于sqlserver2000数据库的人事资源管理系统

基于sqlserver2000,用C++语言编写。人事资源管理系统,完整测试。

2010-11-17

数据结构顺序表的操作

用MFC框架实现顺序表的操作,比较直观的观檫。是课程设计的题

2010-07-03

java实现的基本局域网聊天

已经打包的只适合本机使用 先运行服务端 再运行客户端 即可聊天! 如果要实现不同机子聊天 请修改源码 中的ip地址,再重新编译!!

2010-05-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除