自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 资源 (7)
  • 收藏
  • 关注

原创 Delta lake with Java--读《Delta Lake Up and Running》总结

第三章 Delta lake最基本操作,包括建库,建表,描述表结构,插入数据,查询数据,可以通过3种方式实现,分别是spark sql+sql语句,spark dataframe api,deltatable api,个人觉得用sql语句比较简单。第七章 表结构变化处理,主要是两类处理,一类是固定结构,遇到不一致的就报错,另外一个类就是结构可以根据数据变化,要实现主要在数据写入的时候,设置option("mergeSchema",true)。

2024-05-05 20:59:07 559 3

原创 Delta lake with Java--使用stream同步数据

今天继续学习Delta lake Up and Running 的第8章,处理流数据,要实现的结果就是在一个delta表(名为:YellowTaxiStreamSource)插入一条数据,然后通过流的方式能同步到另外一个delta表 (名为:YellowTaxiStreamTarget)。接着在YellowTaxiStreamSource更新数据YellowTaxiStreamTarget也能更新。至于删除也尝试过了,发现删除是没有办法同步的。

2024-05-05 16:02:14 387 1

原创 Delta lake with Java--liquid clustering

第一个遇到的情况,不能像之前那样逐列定义表,即使用sql语句也不行,一定要从另外一个表select数据才能建表成功,具体见代码中sqlText定义。比较一下查询效率,好像没有什么区别,也不知道是不是我的代码有问题,还是本身还是实验阶段。先记录下来,后面继续跟进学习。第二个遇到的情况,判断表是否存在不生效,所以建表的sql运行完第一次后要注释掉否则就会报错。

2024-05-04 15:32:57 261

原创 Delta lake with Java--分区表

今天尝试一下将昨天的数据操作建立的表换成分区表,参考Delta Lake Up and Running做法用分区表的方式来更新数据。还要比较一下分区表的查询与非分区表的查询,结果显示分区表的查询速度要比非分区表要快。从最后一张图红框可以看到比较结果,分区表查询效率要高一点。

2024-05-04 14:24:56 554

原创 Delta lake with Java--数据增删改查

里面涉及spark的TimestampType类型,如何将字符串输入到TimestampType列,找了几个小时才找到答案,具体参考了如下连接,原来直接将string转成java.sql.Timestamp即可,于是在网上找了一个方法,实现了转换,转换代码非原创,也是借鉴其他大牛的。之前写的关于spark sql 操作delta lake表的,总觉得有点混乱,今天用Java以真实的数据来进行一次数据的CRUD操作,所涉及的数据来源于Delta lake up and running配套的 Git。

2024-05-03 15:52:51 830 3

原创 Delta lake with Java--利用spark sql操作数据2

里面涉及的数据集YellowTaxi,在如下地址下载,这个也是Delta Lake Up and Runing的配套仓库。具体运行结果如下,没有什么需要注意的,纯粹就是输入一下代码,验证一下结果。

2024-05-01 15:36:52 890 1

原创 Delta lake with Java--利用spark sql操作数据1

代码主要实现建立一个表名为YellowTaxi,插入5条数据,然后查询YellowTaxi这5条数据,再建立一个表YellowTaxiPartitioned,YellowTaxiPartitioned是分区表。具体文字内容如下,从结果可以看出分区表的查询效率要比不分区表要好,后面建表还是要用分区表。不分区查询开始时间(含毫秒): 2024-05-01 11:29:39.655。不分区查询结束时间(含毫秒): 2024-05-01 11:29:40.130。

2024-05-01 11:36:12 866 6

原创 Delta lake with Java--将数据保存到Minio

3、修改pom.xml增加hadoop-aws依赖,这里要注意版本号,不知道如何确定版本号,去spark下载目录里面的jar目录,找hadoop-client-api-***.jar,其中***就是版本号了。config("spark.hadoop.fs.s3a.fast.upload.buffer", "bytebuffer")这一行一定要添加,否则会报错。1、安装Minio,去官网下载最新版本的Minio,进入下载目录,运行如下命令,曾经尝试过用docker来安装,不过数据无法保存成功。

2024-04-30 15:49:12 434 1

原创 Delta lake with Java--在spark集群上运行程序

今天要实现的内容是如何将昨天的HelloDetlaLake 在spark集群上运行,。里面的解决方法就是把Delta lake相关的jar包复制到spark安装目录下面的jar目录里面,于是决定尝试一下。复制完后,记得重新运行第2和第3步,重启spark。该问题又花了半天的时间到处找,最终找到一个类似的。

2024-04-29 08:58:50 437

原创 Delta lake with Java--入门

Detla lake with Java 入门

2024-04-28 09:53:47 298 2

原创 如何令containerd连接私有harbor

尝试用kubeadmin安装k8s 1.27.6,并使用containerd来运行容器,结果containerd连harbor这个问题搞了我一天,终于搞通了。发现情况跟我一样,我的harbor也是只有IP,虽然使用的是https,但端口号改了3443,参考做法,居然成功了,总结步骤如下。搞了一天,终于搞通了,无论做科研,搞研究,只要不放弃,肯努力一定会有收获的。心灰意冷,准备换回docker,后来找到这篇文章。接着参考网上很多方法,搞了一天,结果都失败。harbor使用自签证书安装。

2024-01-22 09:14:32 1306

原创 如何通过开源项目搭建私有云平台--第四步下:安装rancher 监控

前文再续,书接上一步,继续介绍rancher搭建K8s集群

2023-04-28 09:09:35 1066

原创 如何通过开源项目搭建私有云平台--第四步中:安装rancher longhorn

前文再续,书接上文,开始安装k8s所需要的外部存储

2023-04-21 10:48:37 726

原创 如何通过开源项目搭建私有云平台--第四步上:安装rancher,搭建K8s集群

前文再续,书接上一步,开始最核心的K8s平台搭建

2023-04-20 10:19:20 1314

原创 如何通过开源项目搭建私有云平台--第三步补充,harbor升级

昨天编写第三步的时候,无意发现原来之前使用的harbor是1.10.17的版本,最新版本是2.8,相差太多了,所以决定升级

2023-04-19 10:08:46 419

原创 如何通过开源项目搭建私有云平台--第三步:部署镜像仓库

前文再续,书接第二步,开始部署镜像仓库

2023-04-18 09:17:53 663

原创 如何通过开源项目搭建私有云平台--第二步:部署代码仓库

前文再续,书接第一步,安装完Minio后搭建代码仓库,介绍如何用Minio进行代码仓库的备份

2023-04-17 10:53:28 880

原创 如何通过开源项目搭建私有云平台--第一步:安装Minio

从事K8s私有云平台研发工作差不多5年了,在国企由于不能使用开源工具,所以全部要自研,连K8s都要从二进制开始安装。但去到小厂,如果一切自研,太耗费成本,本系列文章,总结一下,如何通过开源的项目快速搭建私有云平台,并实现CI/CD持续集成过程。

2023-04-14 11:23:57 1255

原创 PMP考试10大过程组之五质量管理

PMP考试10大过程组之五质量管理

2022-06-09 20:56:31 134

原创 PMP考试10大过程组之四成本管理

PMP考试10大过程组之四成本管理

2022-06-08 17:24:47 91

原创 PMP考试10大过程组之三进度管理

PMP考试10大过程组之三进度管理

2022-06-08 17:22:51 125

原创 PMP考试10大过程组之二范围管理

PMP考试10大过程组之二范围管理

2022-06-06 16:52:03 82

原创 PMP考试10大过程组之一项目整合

最近参加PMP考试,整理了10大过程组,以及敏捷相关知识

2022-06-05 15:54:19 86

原创 23个设计模式UML图

最近要参加软考,借此机会重温了一下之前学习过的知识,将23个设计模式的UML画了出来

2021-09-26 15:42:25 150

原创 在docker里面运行centos,并成功编译gdal

一、背景 最近转行搞与地理信息系统相关的工作,遇见第一个问题就是java程序要读取arcgis的gdb文件时,一定要安装arcgis,导致服务无法docker部署,为了解决该问题开始调研,发现gdal可以在无arcgis的前提下成功通过java读取gdb文件。网上已经有window平台实现方案,我也已经在window开发机器跑到,问题是java程序是要部署在centos上,如何在centos部署gdal成为了一个需要解决的问题二、解决过程1、运行环境,由于资源缺乏,暂时只能在wind...

2021-03-05 17:29:15 882

原创 如何在centos pod里面运行crontab任务

今天收到一个需求,服务部署到kubernetes需要在pod容器里面运行crontab 定时任务,这里不能使用kubernetes的cronjob功能,上网找了一个上午,终于解决问题,具体dockerfile 如下:FROM centos:7USER rootRUN yum update -y && \ yum reinstall -y glibc-common && \ yum install -y kde-l10n-Chinese &am...

2020-07-29 11:50:26 1683 1

原创 如何用minikube快速入门kubernetes-minikube 安装istio

1,下载istio由于使用的minikube使用的是kubernetes 1.14,所以只能安装1.4版本的istio,由于是在window使用minikube所以下载win版本https://github.com/istio/istio/releases/download/1.4.10/istio-1.4.10-win.zip2,安装istio下载后,解压,将解压后bin目录下的istioctl.exe 添加到path环境变量使用minikube start启动k8s集群运行is.

2020-07-12 21:13:47 842

原创 部署calico

上一篇文章介绍了如何二进制部署一个单点的k8s集群,一直没有时间继续完善其他组件的部署,这周末终于有时间部署了一下calico,网上搜索了一下,文章一大堆,尝试跟着做,踩了几个坑,现在总结一下步骤1、下载calico 部署yaml...

2020-07-05 17:20:10 4512

原创 如何用minikube快速入门kubernetes-运行第一个服务hello minikube

1,进入cmd,运行minikube start2,输入命名kubectl create deployment hello-minikube --image=registry.cn-hangzhou.aliyuncs.com/google_containers/echoserver:1.10 从阿里云用1.10版本的echoserver新建deploymeng 通过kubectl get pod --all-namespaces看到 hello-minikube相关的pod存于ru...

2020-05-31 19:50:27 690

原创 使用二进制单机部署k8s 1.18.2

背景:对于k8s学习者,有一个真实的环境十分重要,但要用二进制搭建一个学习环境是一件十分复杂的过程,查了一下网上的文档,大多数都是几台服务器来搭建集群的,本文以一台机器搭用二进制的方法搭建一个简单的k8s集群。1、机器环境操作系统:centos 7虚拟机ip:192.168.225.1322、单机部署etcd1)下载etcd使用版本3.4.7,下载地址h...

2020-05-05 19:17:33 3012 1

原创 记一次Kubernete集群崩毁恢复经历

事故说明:k8s集群资源有限,在同一时刻内进行大量滚动升级。造成整个集群cpu,io,内存同一时刻飙到最高,导致集群里面4台机器死机,需要人手重启,重启后,对应的calico pod 出现 pullImageErr的状态。处理步骤1,尝试删除calico pod,没有任何帮助2,登录calico pod ,用docker images没有发现calico镜像,利用docker pu...

2019-12-06 16:50:28 304

原创 如何用minikube快速入门kubernetes--入门

1,背景 曾经在前一家公司作为运维研发,开发基于kubernetes的CD系统,由于旧公司经营出了问题,开始了寻找新工作的道路,很幸运找到了一个国企,不过要转作与kubernetes相关的运维与研发工作,之前只有研发经验。因此开始了重新探索kubernetes的道路。2,入门 在网上找了很多资料,发现minikube这个软件,之前都是通过在机器上安装虚拟机来搭建kubernete...

2019-10-14 15:49:14 350

原创 读《图解java多线程设计模式》总结--Future

1,从名字上看,Future就是将来的意思,可以这样理解当调用一个方法时,与其一直等待,不如先拿一个代表将来才能兑现的对象,然后等过来一段时间再通过这个对象获取真实结果。在生活中一个经常发生的例子就是提货单,我们去店铺下需求,可能不是马上能够收到我们需要的东西,这时会给你一张提货单(一个代表将来才能兑现的对象),过一段时间再拿这张提货单来提货2,适用范围,与Thread-Per-Message...

2019-04-22 22:44:21 163

原创 读《图解java多线程设计模式》总结--Worker Thread

1,从名字上看,工人线程可以联想到有一家工厂,里面有固定数量的工人,每个工人收到任务后都会独立开展工作,相互之间互不影响。每个工人就可以当作是一个独立的线程,由于工人的数量有固定的,所以线程的数量也是固定。2,适用范围,该模式可以看作是一种线程池模式,一个工厂里面有多少个工人,这个是一个固定的数量,相当于在程序启动的时候先建立好固定数量的线程,然后这些线程不断的处理来自四面八方发送到该工厂的请...

2019-04-21 22:17:46 323

原创 读《图解java多线程设计模式》总结--Thread-Per-Message

1,从名字上看,就是每一条信息一条线程,这里的信息可以看作是一次请求,相当于对于每一次请求都会独立开启一条线程来处理2,适用范围,对于某些请求由于处理时间较长,但又不需要等待返回结果,也没有要求处理一定要按某种顺序进行,此时就适合用Thread-Per-Message3,实现方式,这里有3个概念,第一个是Client表示发起请求端,第二个是Host,可以把他看作是接受请求,接受后为每一个请...

2019-04-18 22:50:01 137

原创 读《图解java多线程设计模式》总结--Read-write Lock

1,从名字上看就是一种比较特殊的锁,该锁能针对读和写操作分别对读线程和写线程进行不同的处理,确保不会出现冲突情况2,适用范围,对于共享资源,如果两个线程同时进行读操作是不会发生任何冲突的,因为读操作不会修改共享资源的值。但如果一个线程在读,另外一个线程在写,或者两个线程同时进行写操作,那么就会发生冲突,Read-write Lock模式就是用于这种场景下,一方面同时读不加锁提高性能,另一方面防...

2019-04-16 23:36:51 105

原创 读《图解java多线程设计模式》总结--Producer-Consumer

1,从名字上看,就是多线程教程中最普遍的消费与生产问题。2.适用范围,由于消费和生产分别由不同的线程来进行,这里就有一个速度同步的问题,有可能消费线程运行比较快,产品还没有被生产出来,也有可能消费线程运行比较慢,产品造成了积压,Producer-Consumer就是要解决消费线程与生产线程的同步问题。3,实现方式,这里有3个概念,Producer生产者,负责生产产品,这里的产品可以是普通的...

2019-04-15 23:03:47 166

原创 读《图解java多线程设计模式》总结--Balking

1,从名字上看,balk是拒绝的意思,目的是确保在多线程条件下各线程能正常操作共享资源,该模式有点类似Guarded Suspension模式,唯一不同的是,Guarded Suspension当不满足守护条件的情况下会触发线程等待,而Balking当不满足守护条件时直接返回,不会触发线程等待。2,适用范围,Balking模式的特点就是不进行等待,当守护条件不成立的时候,要立即进行其他操作,就...

2019-04-14 22:17:09 148

原创 读《图解java多线程设计模式》总结--Guarded Suspension

1,从名字上看就是增加了守护功能的一种设计模式,目的是确保在多线程条件下各线程能正常操作共享资源,如果触发了守护功能,相关的线程就必须等待,直到守护功能确保不会出现操作异常才会让线程继续执行下去。2,与Single Threaded Execution相似都是为了保护共享资源,只不过Single Threaded Execution是无条件的多线程互斥,而Guarded Suspension...

2019-04-13 23:22:48 135

原创 读《图解java多线程设计模式》总结--Immutable

1,Immutable表示不可变,从名字上看就是无论有多少线程操作同一个共享资源,都不能改变该资源的状态。2,适用范围,对于初始化一次就不允许修改的资源可以采用该模式,由于共享资源不可变,所以即使在多线程的情况下也不需要使用Synchronized来保护共享资源,由于不存在线程阻塞和等待,从而达到提高访问性能的效果。3,实现方法,在构造函数初始化共享资源,共享资源用final和privat...

2019-04-12 23:57:35 122

神经网络入门好资料,中文的

神经网络入门好资料,中文的,国人写的!绝对适合初学者!绝对绝对!

2009-07-14

Feature_Extraction_in_Computer_Vision_and_Image_Processing_-_Mark_S[1]._Nixon

Feature_Extraction_in_Computer_Vision_and_Image_Processing_-_Mark_S[1]._Nixon 一书,绝对经典

2009-07-12

Building Intelligent .NET Applications: Agents, Data Mining, Rule-Based Systems, and Speech Processing

Building Intelligent .NET Applications: Agents, Data Mining, Rule-Based Systems, and Speech Processing 此书电子版绝对能看!

2009-06-16

Enterprise j2Me

Enterprise j2Me j2me use in enterprise

2009-04-25

MATLAB数据挖掘算法大全

MATLAB数据挖掘算法大全,包括全部数据挖掘算法!有说明

2008-10-11

数据仓库宝典

数据仓库宝典关于数据仓库的权威指南

2008-04-28

空空如也

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

TA关注的人

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