自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

从大数据到人工智能的博客

分享大数据以及人工智能相关知识,包括hadoop、flink、hudi、kafka、deeplearning4j等

  • 博客(141)
  • 资源 (1)
  • 收藏
  • 关注

原创 kubernetes operator解析

简而言之,控制器循环是控制器动作的基础。想象一下,有一个非终止过程(在 Kubernetes 中称为协调循环)一遍又一遍地发生,如下图所示:此过程至少观察一个 Kubernetes 对象,其中包含有关所需状态的信息。对象如…ServicesSecretsIngress…由配置文件定义,配置文件由 JSON 或 YAML 中的清单组成。然后控制器根据内置逻辑通过 Kubernetes API 进行持续调整以模仿所需状态,直到当前状态变为所需状态。

2023-06-16 22:56:02 2395 6

原创 深入探究kubernetes resources - Part 2

我们了解到 CPU 请求不仅用于调度,而且在整个容器生命周期中占据很大一部分!我们了解了设置正确请求以便为每个容器配置正确数量的 CPU 份额的重要性,以及为什么 QoS 等配置不会真正影响我们的工作负载。记住!CPU 请求配置在容器的整个生命周期内保证有多少 CPU 可用!

2023-06-16 10:09:58 822

原创 深入探究kubernetes resources - Part 1

所以要了解的信息很多,而这第一部分只是探究resources的基础知识。

2023-06-16 09:36:24 1204

原创 ubuntu 22.04安装mysql 8.0与避坑指南

MySQL 是一个开源数据库管理系统,可作为流行的 LAMP(Linux、Apache、MySQL、PHP/Python/Perl)堆栈的一部分安装。它实现了关系模型并使用结构化查询语言( SQL)来管理其数据。本教程将介绍如何在 Ubuntu 22.04 服务器上安装 MySQL 8.0 版。通过完成它,你将拥有一个可用的关系数据库,并且可以使用它来构建您的下一个网站或应用程序。

2023-06-15 19:36:47 13768 2

原创 ubuntu 22.04安装PostgreSQL

关系数据库管理系统是许多网站和应用程序的关键组件。它们提供了一种结构化的方式来存储、组织和访问信息。PostgreSQL 或 Postgres 是一种关系数据库管理系统,它提供 SQL 查询语言的实现。它符合标准并具有许多高级功能,例如可靠的事务处理和没有读锁的并发性。本文档说明了如何在 Ubuntu 22.04 服务器上安装 Postgres。它还为一般数据库管理提供了一些说明。

2023-06-12 20:03:57 4788

原创 Apache Hudi 0.12.2发布

我们的目标是维护 0.12 更长时间,并通过最新的 0.12.x 版本提供稳定版本供用户迁移。此版本 (0.12.2) 是最新的 0.12 版本。

2023-01-11 22:14:54 411 1

原创 k8s hudi表快速测试指南

如果任务名称为basic-example,那么还需要基于上述core-site.xml创建hadoop-config-basic-example configmap。重启rpcbind服务与nfs服务,nfs是一个RPC程序,使用它前,需要映射好端口,通过rpcbind设定。在default namespace使用core-site.xml创建configmap,core-site。/data1/nfs/rootfs——NFS服务器端的目录,用于与nfs客户端共享。sync——资料同步写入内存和硬盘。

2022-12-16 15:03:19 927

原创 Spark SQL操作HUDI表实践

从 0.9.0 开始 hudi 已经支持 hudi 内置的 FileIndex:HoodieFileIndex 来查询 hudi 表,支持分区剪枝和 metatable 查询。这将有助于提高查询性能。它还支持非全局查询路径,这意味着用户可以通过基本路径查询表,而无需在查询路径中指定“*”。有关支持的所有表类型和查询类型的更多信息,请参阅表类型和查询。如果使用location语句指定一个位置,或者使用create external table显式地创建表,那么它就是一个外部表,否则它被认为是一个内部表。

2022-12-16 15:01:58 5732 1

原创 深入理解Kafka Producer内部机制

总的来说,Kafka Producer是将数据发送到kafka集群的客户端。

2022-12-09 15:35:03 1086

原创 Kafka基础与核心概念

本文,我们将试图回答什么是apache kafka。kafka是一个分布式流平台或者分布式消息提交日志。

2022-11-28 20:26:54 702

原创 解决spark sql读取hudi表出现偶然读不出来问题分析

用beeline连接spark thriftserver或者kyuubi(spark 3.3.0)查询hudi mor表,发现对于同一个spark SQL在同一个beeline session里面不同时间查到的东西都是一样的。除此之外还有个问题就是,在同一个beeline session里面再过一段时间后,由于有些文件被合并了,再查会报以前的log文件找不到的问题。或者设置如下参数,也就是metadata的过期时间,将其设置为hudi clean清理周期以内。

2022-10-28 11:05:09 1577

原创 依托于亚马逊云科技的开发者学习体验

前言截止今年(2022年),亚马逊云已经走过了16个年头,并连续十一年被Gartner认可为云计算领导者。在EC2方面从最原始的单一实例到今天支持475+实例类型,而在服务类型方面更是发展并延伸到了各行各业。说起我与亚马逊云科技的渊源,还得从上大学的时候说起,从当年免费体验亚马逊云上的服务资源,到今天在亚马逊云上的持续学习。接下来我将从产品使用、参与创新大会、深入阅读技术资源等方面聊一聊在亚马逊云上的学习历程。从免费试用亚马逊云开始我的上云服务对于一个云上开发者来说,免费套餐是AWS相对于很多其他云厂

2022-05-16 12:25:42 3231

原创 Kyuubi基本安装与使用指南

Apache Kyuubi (Incubating),一个分布式和多租户网关,用于在 Lakehouse 上提供无服务器 SQL。本文为kyuubi入门文章,介绍了Kyuubi基本安装与使用,并以Spark引擎为例讲述如何提交第一个Spark SQL任务。您还可以阅读文章《Kyuubi 与 Spark ThriftServer 的全面对比分析》了解Kyuubi与Spark ThriftServer的异同点。安装包下载进入如下页面下载kyuubi安装包:https://kyuubi.apa.

2022-05-13 17:10:16 6339

原创 Apache Pinot基本介绍

Pinot 是一个实时分布式 OLAP 数据存储,专为提供超低延迟分析而构建,即使在极高吞吐量下也是如此。 它可以直接从流数据源(例如 Apache Kafka 和 Amazon Kinesis)中摄取,并使事件可用于即时查询。 它还可以从 Hadoop HDFS、Amazon S3、Azure ADLS 和 Google Cloud Storage 等批处理数据源中摄取。系统的核心是列式存储,具有多种智能索引和预聚合技术以实现低延迟。 这使得 Pinot 最适合面向用户的实时分析。 同时,Pinot 也

2022-05-13 17:08:39 1697

原创 在Docker中快速测试Apache Pinot批数据导入与查询

Pinot 是一个实时分布式 OLAP 数据存储,专为提供超低延迟分析而构建,即使在极高吞吐量下也是如此。如果你还不了解Pinot,那么可以先阅读这篇文章《Apache Pinot基本介绍》,本文介绍如何以Docker方式运行Pinot,在Docker中运行Pinot对于了解Docker的新手来说是最简单不过的了。拉取镜像docker pull apachepinot/pinot:latest或者你也可以指定pinot版本docker pull apachepinot/pinot:0.9.3

2022-05-13 17:07:59 510

原创 Apache Thrift基本使用介绍

基本介绍Thrift 是用于点对点 RPC 实现的轻量级、独立于语言的软件堆栈。 Thrift 为数据传输、数据序列化和应用程序级处理提供了清晰的抽象和实现。 代码生成系统将简单的定义语言作为输入,并生成跨编程语言的代码,这些编程语言使用抽象堆栈来构建可互操作的 RPC 客户端和服务器。Thrift 使以不同编程语言编写的程序可以轻松共享数据和调用远程过程。 Thrift 支持 28 种编程语言,很有可能支持您当前使用的语言。Thrift 专门设计用于支持跨客户端和服务器代码的非原子版本更改。 这使

2022-05-13 17:05:01 1068

原创 windows 11系统调试hive metastore 3.1.2源码新姿势

由于工作原因,需要深入了解一下hive metastore相关源码,这几天尝试了在windows中运行hive metastore代码,这边记录一下踩坑的过程以及解决方法。window中编译遇到的问题hive在3.0之后,独立提供hive metastore服务,我们可以直接下载hive standalone metastore相关源码即可,这边以3.1.2版本为例:源码下载:wget https://repo1.maven.org/maven2/org/apache/hive/hive-stand

2022-03-17 12:30:57 3829

原创 云原生时代的到来,Hive会被替代吗

Apache Hive 在 2010 年作为 Hadoop 生态系统的一个组成部分突然出现,当时 Hadoop 是进行大数据分析的新颖且创新的方式。Hive 所做的是为 Hadoop 实现了一个 SQL 接口。 它的架构包括两个主要服务:查询引擎——负责 SQL 语句的执行。一个 Metastore——负责将 HDFS 中的数据集合虚拟化为表。Hadoop 背后的概念是革命性的。 庞大的数据集存储在商品硬件集群上的分布式文件系统 (HDFS) 中。 计算作业使用 MapReduce 与数据并行

2022-03-15 01:04:12 4262 2

原创 Flink Standalone HA搭建指南

基本环境集群主机IPhost14710.1.0.147host14810.1.0.148host14910.1.0.149配置域名映射vim /etc/hosts10.1.0.147 host14710.1.0.148 host14810.1.0.149 host149下载Flink安装包,将其放到/data目录下,并解压mkdir /data && cd /datawget http://192.168.1.3:11180/d

2022-03-09 01:14:29 2349

原创 ScreenToGif 快速制作gif图的轻量工具

平常在写一些演示文稿的时候会有把某些操作制作成gif图,以加深阅读者的印象。今天和大家介绍一下一个开源gif图制作软件:ScreenToGif。安装ScreenToGif可用于屏幕、摄像头以及画板的录制,并且内置编辑器,可以直接对录制的图像进行编辑。目前,ScreenToGif支持arm64以及x86_64架构的windows操作系统,具体安装方式可见:https://www.screentogif.com/downloads使用在安装完成之后便可以双击使用,以下为默认启动窗口:点击录像机.

2022-03-08 00:08:14 479

原创 rpm快速打包工具 --- rpm-package

rpm包作为redhat、centos系列操作系统的包管理工具,让我们可以轻松通过yum install xxx.rpm命令安装某些软件包。本项目介绍文件打包方法,用于将任意文件按照描述文件的组织方式打包成rpm包。项目地址https://github.com/xiaozhch5/rpm-package如何使用您可以从源码编译该项目或者从release包中下载!源码编译安装编译依赖:jdk8maven3git clone https://github.com/xiaozhch5/rpm

2022-03-03 14:49:12 1995 1

原创 快速安装k3s kubernetes集群

K3s 是 Rancher 发布的经过完全认证的 Kubernetes 发行版。K3s 易于使用且更轻量,全部组件都打包在了一个二进制文件里。并且这个二进制文件小于 100 MB。下面介绍在三台centos7服务器上快速搭建k3s kubernetes集群。基础环境主机操作系统IPrancher01centos710.0.2.9rancher02centos710.0.2.78rancher03centos710…2.211安装MySQL 5.7数据

2022-02-26 13:42:14 987 3

原创 基于Java实现Avro文件读写功能

Apache Avro是一个数据序列化系统。具有如下基本特性:丰富的数据结构。一种紧凑、快速的二进制数据格式。一个容器文件,用于存储持久数据。远程过程调用 (RPC)。与动态语言的简单集成。 代码生成不需要读取或写入数据文件,也不需要使用或实现 RPC 协议。 代码生成作为一种可选的优化,只值得为静态类型语言实现。模式(schema)Avro 依赖于模式。 读取 Avro 数据时,写入时使用的模式始终存在。 这允许在没有每个值开销的情况下写入每个数据,从而使序列化既快速又小。 这也便于使用

2022-02-17 23:42:51 1464

原创 2022 1月Github热门项目

新年伊始,有些人慢慢回到工作岗位,而另一些人决定继续在家编码。 无论是在您舒适的家中开发 - 还是在随便一家咖啡馆 - 它都没有阻止Github社区发布很棒的开源项目和更新。接下来让我们来看看一月份发布的GitHub精选顶级项目nut.js 2.0项目地址:https://github.com/nut-tree/nut.js我们在 Release Radar 上谈论了很多关于 Node.js 项目的内容,这里有另一个给你。 nut.js 是 Node.js 的桌面自动化框架。 它适用于 Windows

2022-02-15 02:10:45 1339

转载 字节跳动基于Hudi的数据湖集成实践

本文是字节跳动数据平台开发套件团队在Flink Forward Asia 2021: Flink Forward 峰会上的演讲,着重分享了字节跳动数据湖技术上的选型思考和探索实践。本文重点分享字节的探索实践,对话框回复数字9可以阅读关于技术选型的思考。文 | Gary Li  字节跳动数据平台开发套件团队高级研发工程师,数据湖开源项目Apache Hudi PMC Member在选择了基于Hudi的数据湖框架后,我们基于字节跳动内部的场景,打造定制化落地方案。我们的目标是通过Hudi来支持所有带U

2022-02-14 23:55:28 1259

转载 Linux 性能全方位调优经验总结

性能优化性能指标高并发和响应快对应着性能优化的两个核心指标:吞吐和延时应用负载角度:直接影响了产品终端的用户体验系统资源角度:资源使用率、饱和度等性能问题的本质就是系统资源已经到达瓶颈,但请求的处理还不够快,无法支撑更多的请求。性能分析实际上就是找出应用或系统的瓶颈,设法去避免或缓解它们。选择指标评估应用程序和系统性能为应用程序和系统设置性能目标进行性能基准测试性能分析定位瓶颈性能监控和告警对于不同的性能问题要选取不同的性能分析工具。下面是常用的L

2022-02-12 14:56:44 1289

原创 docker运行oracle数据库指南

docker启动oracle数据库拉取镜像docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g容器中运行镜像docker run -itd -p 1521:1521 --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g进入容器,进行基本设置docker exec -it oracle11g bash切换到root用户,新增环境变

2022-02-11 02:15:09 3667 1

原创 Java中实现线程安全的几种方法

我们知道Java有一个特性,多线程,它是一个同时运行多个线程的过程。 当多个线程处理相同的数据,并且我们的数据值发生变化时,这种情况不是线程安全的,我们会得到不一致的结果。 当一个线程已经在一个对象上工作并阻止另一个线程在同一个对象上工作时,这个过程称为线程安全。在Java中,通过如下方法实现线程安全:使用线程同步使用Volatile关键字使用Atomic变量使用final关键字使用线程同步同步是一次只允许一个线程完成特定任务的过程。 意思是当多个线程同时执行,想要同时访问同一个资源时,就

2022-02-10 00:09:20 7074

原创 Java中的多线程基本介绍

在 Java 中,多线程是指同时执行两个或多个线程以最大限度地利用 CPU 的过程。 Java 中的线程是一个轻量级进程,只需要较少的资源即可创建和共享进程资源。多线程和多进程用于 Java 中的多任务处理,但我们更喜欢多线程而不是多进程。 这是因为线程使用共享内存区域有助于节省内存,而且线程之间的内容切换比进程快一点。线程的生命周期线程在其生命周期中必须经历五种状态。 此生命周期由 JVM(Java 虚拟机)控制。 这些状态是:NewRunnableRunningNon-Runnable

2022-02-08 02:15:00 1921 1

原创 Flink与Spark读写parquet文件全解析

Parquet介绍Parquet 是一种开源文件格式,用于处理扁平列式存储数据格式,可供 Hadoop 生态系统中的任何项目使用。 Parquet 可以很好地处理大量复杂数据。它以其高性能的数据压缩和处理各种编码类型的能力而闻名。与基于行的文件(如 CSV 或 TSV 文件)相比,Apache Parquet 旨在实现高效且高性能的平面列式数据存储格式。Parquet 使用记录粉碎和组装算法,该算法优于嵌套命名空间的简单展平。 Parquet 经过优化,可以批量处理复杂数据,并具有不同的方式来实现高效的

2022-01-26 09:46:37 3359 6

翻译 使用 Apache Hudi、Kafka、Hive 和 Debezium 构建开放数据湖

总览在接下来的文章中,我们将学习如何使用开源软件 (OSS) 在 AWS 上构建数据湖,包括 Red Hat 的 Debezium、Apache Kafka、Kafka Connect、Apache Hive、Apache Spark、Apache Hudi 和 Hudi DeltaStreamer。 我们将使用完全托管的 AWS 服务来托管数据源、数据湖和开源工具。 这些服务包括 Amazon RDS、MKS、EKS、EMR 和 S3。工作流程如上面的架构图所示,这些是演示工作流.

2022-01-26 01:43:52 1155

原创 Hudi源码分析之使用Flink Table/SQL实现Hudi Sources

在文章Flink Table/SQL自定义Sources和Sinks全解析(附代码)中我们说到在Flink Table/SQL中如何自定义Sources和Sinks,有了上述文章的基础,我们再来理解Flink Table/SQL是如何实现Hudi的数据读取与写入就比较容易了。动态表是自定义sources/sinks的核心,通过查阅源码我们可以知道在flink-hudi子模块中,org.apache.hudi.table.HoodieTableFactory类同时实现了DynamicTableSource

2022-01-23 23:31:17 2735

原创 Flink Table/SQL自定义Sources和Sinks全解析(附代码)

动态表是Flink Table和SQL API处理有界和无界数据的核心概念。在Flink中,动态表只是逻辑概念,其本身并不存储数据,而是将表的具体数据存储在外部系统(比如说数据库、键值对存储系统、消息队列)或者文件中。动态源和动态写可以从外部系统读写数据。在下面的描述中,动态源和动态写可以归结为connector。接下来我们来看看如何自定义connector。代码地址:https://git.lrting.top/xiaozhch5/flink-table-sql-connectors.git总览

2022-01-20 16:54:39 4447 8

原创 行为设计模式及其在JVM中的应用

在上篇文章中我们说到创建者设计模式。 现在我们来看看行为设计模式。 这些模式关注我们的对象如何相互交互或者我们如何与它们交互。责任链模式责任链模式允许对象实现一个公共接口,并且每个实现都可以在适当的情况下委托给下一个实现。 然后,这允许我们构建一个实现链,其中每个实现在调用链中的下一个元素之前或之后执行一些操作:例如:interface ChainOfResponsibility { void perform();}class LoggingChain { private Ch

2022-01-20 00:34:08 728

原创 结构型设计模式

总览这篇文章中,我们主要介绍一下结构型设计模式,以及讨论结构型设计模式中代理模式、装饰者模式、适配器模式和桥接模式有哪些及其差异点。根据 Gang Of Four (GoF)[设计模式作者]介绍,设计模式可以分为三类,分别为创建型、结构型以及行为型。简单地说,结构模式处理类和对象的组合。 它们提供了使用对象组合和继承来创建某些抽象的不同方式。代理模式使用这种模式,我们创建了一个中介,它充当另一个资源的接口,例如文件、连接。 这种辅助访问为真实组件提供了替代品,并保护它免受底层复杂性的影响。差异点:

2022-01-20 00:33:27 308

原创 创建型设计模式简介

总览在软件工程中,设计模式描述了软件设计中最常遇到的问题的既定解决方案。 它代表了经验丰富的软件开发人员经过长期反复试验而形成的最佳实践。在 Erich Gamma、John Vlissides、Ralph Johnson 和 Richard Helm(也称为 Gang of Four 或 GoF)于 1994 年出版《设计模式:可重用的面向对象软件的元素》一书后,设计模式开始流行。在本文中,我们将探讨创建设计模式及其类型。 我们还将查看一些代码示例并讨论这些模式适合我们设计的情况。创建型设计模式

2022-01-18 01:33:27 487 3

原创 用ranger对hive metastore 进行授权管理

hive standalone metastore 3.1.2可作为独立服务,作为spark、flink、presto等服务的元数据管理中心,然而在现有的hive授权方案中只有针对hiveserver2的授权,所以本文针对hive standalone metastore独立服务使用ranger对连接到hive metastore的用户进行授权访问,以解决hive standalone metastore无权限验证问题。为了测试验证,本文所作的操作都在一台centos 7.6主机上执行。ranger编译

2022-01-16 02:32:04 2928 8

原创 AI平民化之路 - 华为云ModelArts和AI Gallery体验指南

在校期间主学机器学习和算法,在一次偶然的机会接触了大数据,而后便入门大数据,至今也从事大数据平台开发工作。可是,仍然对AI技术念念不忘呀,平常也会做点机器学习相关的小东西,尝试一些demo,想着某一天还能回到曾经熟悉的领域,正如我博客名称,从大数据到人工智能。由于我的工作也是平台相关的,所以本次ModelArts的体验对我来说不仅仅是产品的使用者,更是一个产品的学习者。话不多说,接下来和大家分享一下作为产品使用者的体验。作为一站式AI开发平台,华为云ModelArts提供了全周期AI工作流管理,让用.

2022-01-14 15:43:33 2590 35

原创 hive metastore配置kerberos认证

hive从3.0.0开始提供hive metastore单独服务作为像presto、flink、spark等组件的元数据中心。但是默认情况下hive metastore在启动之后是不需要进行认证就可以访问的。所以本文基于大数据组件中流行的kerberos认证方式,对hive metastore进行认证配置。如果您还不了解如何单独启用hive metastore服务,那么您可以参考下述文章。Presto使用Docker独立运行Hive Standalone Metastore管理MinIO(S3)kdc

2022-01-11 02:48:40 3491 8

原创 一文读懂Kafka Connect核心概念

概览Kafka Connect 是一种用于在 Apache Kafka 和其他系统之间可扩展且可靠地流式传输数据的工具。 它使快速定义将大量数据移入和移出 Kafka 的连接器变得简单。 Kafka Connect 可以摄取整个数据库或从所有应用程序服务器收集指标到 Kafka 主题中,使数据可用于低延迟的流处理。 导出作业可以将数据从 Kafka 主题传送到二级存储和查询系统或批处理系统进行离线分析。Kafka Connect有什么优势:数据中心管道 - 连接使用有意义的数据抽象来拉或推数据到Ka

2022-01-10 01:00:12 2172 18

空空如也

空空如也

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

TA关注的人

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