自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(180)
  • 资源 (4)
  • 收藏
  • 关注

原创 使用POI解析doc/docx格式文件并转化HTML,替换其中的图片

Apache POI”是一个用于操作Microsoft Office格式文件(如Word文档、Excel表格、PowerPoint演示文稿)的开源Java库。POI允许开发人员读取和写入这些Office文件,使得Java应用程序能够与Microsoft Office文件进行交互。这里介绍一下POI解析doc与docx文件的demo。

2024-03-20 11:33:51 444

原创 Ansible playbook简介与初步实战,实现批量机器应用下载与安装

5.play中hosts、variables、roles、tasks等对象的表示方法都是以键值中间以“:”分隔表示,并且“:”之后要加一个空格。2.在同一行中,#之后的内容表示注释,类似于shell,python和ruby。1.文件的第一行应该以“—”(三个连字符)开始,表明YAML文件的开始。3.YAML中的列表元素以“-”开头并且跟着一个空格。4.同一个列表之中的元素应该保持相同的缩进,否则会被当做错误处理。还有可以执行很多功能,等待我们后续探索。我们对一台测试机器进行执行测试,首先我们创建。

2023-09-06 21:46:21 831

原创 Grafana权限管理,新增用户并配置组权限

目前使用Grafana监控Flink相关任务的指标,但是可能会遇到别的开发者需要监控相关的指标情况,因此需要给他们单独开一个账号,并且配置相关的权限。

2023-04-04 19:16:11 4180 1

原创 解决部署Hudi时遇到的 Error extracting protoc for version 3.21.5: Unsupported platform: protoc-xxx.exe 问题

下载以后直接解压即可,但是我们进入 bin目录下打开protoc的时候会显示无法验证开发者。可以看出是版本冲突的问题,解决方案就需要重新安装符合的protoc。,下面会提示是否允许protoc,我们选择允许既可以。选择允许后会直接打开这个界面,可以看到我们安装成功了。下载对应的文件,这里我选择符合操作系统的。静静等待十几分钟,可以发现打包成功了。

2023-03-24 15:59:19 1277 2

原创 使用Maven构建Hudi时报错Could not create local repository at /Library/apache-maven-3.8.6/repository 解决

但是同样执行以后,然后会报一样的错误。说明跟idea中配置没关系,突然反应过来,在idea的终端打包还是使用的系统本身环境。而/Library/apache-maven-3.8.6中文件权限不足,因此会产生此问题。第一反应是使用了系统默认的maven,而不是使用自己搭建的maven仓库。可以直接在idea中的右侧maven中对项目进行打包,这样使用的就是我们配置的环境,当然也可以修改系统环境,mac只需在。中修改maven仓库的位置。让文件生效,别忘了在。

2023-03-24 15:02:41 725

原创 Windows部署定时任务,每天定期执行手机机型爬取

有一个手机机型自动更新获取的需求,在我写好相关的爬虫后,需要将爬虫部署,并且需要配置定时任务每天定期执行。之前在Mac上开发,现在部门给配了一台windows定期执行。1、我是通过ChromeDriver开发的爬虫,所以首先需要安装好Chrome。

2023-01-17 17:45:14 612

原创 解决Windows下使用cmd执行Python文件报错 ModuleNotFoundError: No module named ‘XXXX‘

在IDEA中可以正常执行的Python文件,想把它配置成每天固定时间执行的定时任务。我写了一个脚本在每天9点时执行Python文件,但是我在cmd中测试执行时遇到以下报错。

2022-12-30 19:40:28 3050 2

原创 Python中将两个DataFrame拼接时遇到:InvalidIndexError: Reindexing only valid with uniquely valued Index objects

今天接到爬取手机型号的需求,在完成初版以后执行时,发现遇到了 Reindexing 仅对唯一值的索引对象有效。

2022-10-27 21:34:52 1302

原创 Hive实践——将查询的数据按照分区进行存储

Hive 分区其实就是将表中的数据按照一定规则散列成多个分区。常见的例如按照月分区、不同日期的分区。因此在具体查询数据时只需查对应分区的数据就可以,而不需要全表搜索,大大降低了查询时的时间开销...

2022-08-01 14:25:22 1230

原创 macOS中安装zsh,并配置些重要插件

当前是macOS必备的包管理工具,可以使用 Homebrew 安装需要的应用,将软件包安装到独立目录。

2022-07-04 13:15:53 4201

原创 Google Colab中解决No module named ‘hdbscan‘问题

把程序放在colab上执行时报错,不能加载hdbscan:1、首先需要更新 pip 和 numpy!pip install --upgrade pip!pip install numpy==1.16.02、重新启动此时需要重新启动。 转到菜单栏“代码执行程序 > 重新启动代码执行程序”,重启后就可以恢复了。3、安装Cython与 hdbscan!pip install Cython!pip install hdbscan然后我们就可以导入hdbcan了。...

2022-01-27 10:40:29 1556

原创 EndNode中更换文献类型并在word中导入

首先下载好EndNote,具体的安装流程可以参考这个网址:EndNote安装我们打开安装好后的EndNote:在endnote官网中下载我们所需的文献格式,这里拿GBT类型做样例:GBT下载下载好以后可以看到 Chinese Std GBT7714 (numeric).ens 文件:打开它可以看到这个界面:我们选择 File -> Save As,在Style name里面输入另存为的名字:点击保存后回到EndNote页面,打开Style Manager:把我们刚刚下载的文

2022-01-21 11:00:56 670

原创 Kafka原理与基础概要

1、Apache Kafka 是什么?Apach Kafka 是一款分布式流处理框架,用于实时构建流处理应用。它有一个核心 的功能广为人知,即作为企业级的消息引擎被广泛使用。一定要先明确它的流处理框架地位。为什么要使用 kafka,为什么要使用消息队列缓冲和削峰:上游数据时有突发流量,下游可能扛不住,或者下游没有足够多的机器来保证冗余,kafka在中间可以起到一个缓冲的作用,把消息暂存在kafka中,下游服务就可以按照自己的节奏进行慢慢处理。解耦和扩展性:项目开始的时候,并不能确定具体需求。消息队列

2021-11-16 15:36:57 1219

原创 Java基础——synchronize关键字

1、synchronize了解​ synchronized 关键字解决的是多个线程之间访问资源的同步性,持有这把锁会把里面的并发变成序列化, synchronized 关键字可以保证被它修饰的⽅法或者代码块在任意时刻只能有⼀个线程执⾏,是一个悲观锁,会导致效率低下。注意:**构造方法不能使用 synchronized 关键字修饰。**构造方法本身就属于线程安全的,不存在同步的构造方法一说。synchronized 关键字最主要的三种使⽤⽅式:​ 1.修饰实例⽅法: 作⽤于当前对象实例加锁,进⼊同步

2021-10-26 15:38:27 941

原创 Java基础——关键字

1.Synchronized解决的是多个线程之间访问资源的同步性,synchronized关键字可以保证被它修饰的⽅法或者代码块在任意时刻只能有⼀个线程执⾏。下面是常问的面试题。双重校验锁懒汉式单例:public class Singleton { private volatile static Singleton uniqueInstance; private Singleton() { } public synchronized static Singleton...

2021-10-26 14:59:16 191

原创 Java基础——深拷贝和浅拷贝

一、深拷贝和浅拷贝区别**浅拷贝(shallowCopy)**只是增加了一个指针指向已存在的内存地址。**深拷贝(deepCopy)**是增加了一个指针并且申请了一个新的内存,使这个增加的指针指向这个新的内存。深拷贝和浅拷贝最根本的区别在于是否真正获取一个对象的复制实体,而不是引用。假设B复制了A,修改A的时候,看B是否发生变化:如果B跟着也变了,说明是浅拷贝,拿人手短!(修改堆内存中的同一个值)如果B没有改变,说明是深拷贝,自食其力!(修改堆内存中的不同的值)二、深拷贝的实现方法一: 构造

2021-10-19 10:36:58 409

原创 Java基础——HashCode与equals

1、hashCode()介绍:hashCode() 的作⽤是获取哈希码,也称为散列码;它实际上是返回⼀个 int 整数。这个哈希码的作⽤是确定该对象在哈希表中的索引位置。 hashCode() 定义在 JDK 的 Object 类中,这就意味着 Java 中的任何类都包含有 hashCode() 函数。另外需要注意的是: Object 的 hashcode ⽅法是native本地⽅法,也就是⽤ c 语⾔或 c++ 实现的,该⽅法通常⽤来将对象的 内存地址 转换为整数之后返回。2、为什...

2021-08-10 10:00:34 944

原创 将MySQL中数据转为层级Json格式

目前需要将mysql中的论文数据转为json格式,但是其中合作作者一列中多个人民通过封号隔开,最后转化样式如下:

2021-06-17 16:12:50 1744 1

原创 解决加载json-lib包报错Cannot resolve net.sf.json-lib:json-lib:2.4

在加载 json-lib 时,按照maven仓库中的内容复制到pom.xml中,然后reload报错:Cannot resolve net.sf.json-lib:json-lib:2.4

2021-06-16 20:13:09 1809

原创 将MySQL中的中文姓名转为拼音

一、首先设计好数据库表对应的实体类:Paper类:public class Paper { private String name; //论文题目 private String firstAuthor; //第一作者 private String time; //发表时间 private String publications; //发表刊物 private String company;

2021-06-16 17:15:14 729

原创 使用Excel处理姓名数据,转为拼音并且姓与名首字母大写

今天拿到实验的数据,要进行一些数据处理。将中文名改成拼音并需要将姓氏首字母和名字首字母大写,中间加空格。类似如下:用到的工具:用到了汉子转拼音的Visual Basic 模块 实现首字母大写的PROPER() 函数 快速合并单元格并保留数值的CONCATENATE() 函数A、打开Visual Basic编辑状态,新增模块Alt+F11进入Visual Basic编辑状态,然后 插入 -> 模块,在里面复制文件中的代码:链接: https://pan.baidu.com/s/

2021-05-20 22:31:53 10550 2

转载 Java调用Python程序方法总结

如何使用Java调用Python程序本文为大家介绍如何java调用python方法,供大家参考。实际工程项目中可能会用到Java和python两种语言结合进行,这样就会涉及到一个问题,就是怎么用Java程序来调用已经写好的python脚本呢,一共有三种方法可以实现,具体方法分别为大家介绍:1. 在java类中直接执行python语句此方法需要引用org.python包,需要下载Jpython。在这里先介绍一下Jpython。下面引入百科的解释:Jython是一种完整的语言,而不是一个J

2021-05-07 19:07:59 495

原创 使用LinkedHashMap设计LRU缓存

LRU缓存使用Java设计LRU缓存结构,该结构在构造时确定大小,假设大小为K,并有如下两个功能 :set(key, value):将记录(key, value)插入该结构 get(key):返回key对应的value值要求某个key的set或get操作一旦发生,认为这个key的记录成了最常使用的。 当缓存的大小超过K时,移除最不经常使用的记录,即set或get最久远的。 若opt=1,接下来两个整数x, y,表示set(x, y) 若opt=2,接下来一个整数x,表示get(x),若

2021-03-20 21:14:11 225 2

原创 Map中的 keySet() 方法 与 Iterator 迭代的遍历,LinkedHashMap与HashMap区别

keySet()方法如果有一个Map对象,可以使用 map.keySet() 方法获取所有的key值,Iterator迭代器Java Iterator(迭代器)不是一个集合,它是一种用于访问集合的方法。如果是HashMap、HashSet这些则打印的顺序于你插入的顺序无关,只与你插入的内容有关(根据HASHCODE排序)的。所以这样输出我们会丢失我们插入时的顺序。如果我们需要按照插入的顺序进行迭代遍历,则创建Map时新建 LinkedHashMap 。它继承于 HashMap,底层是..

2021-03-20 16:13:50 3412

原创 使用Streamsets将MySQL的数据同步到Rabbitmq生产者中

之前一篇博客记录了将Oracle的数据实时同步到MySQL中,因为项目需要,将多个数据源的数据先集成到统一的MySQL数据库中,然后再将这些数据传输到Rabbitmq中,最后经过Spark传输到HBASE中。之前也考虑过将这些绘制到一个管道中,最后因为Rabbitmq我并没有找到可以作为中间的过程的组件,只能拆分成两个管道,这篇就记录一下将MySQL中的数据传输到Rabbitmq Producer中。1、首先绘制整个的管道2、配置MySQL Binary Log参数A、配置MySQL Bin

2021-01-11 21:56:51 721 1

原创 使用Streamsets将Oracle数据实时同步到MySQL中

相关环境:Oracle 11g:11.2.0.1.0MySQL:8.0.22前期准备:1、打开Oracle的logminera.在SQL Shell中,以具有DBA的用户身份登录数据库:sqlplus /nolog;conn / as sysdba;b.检查数据库日志记录模式:select log_mode from v$database;如果查询结果是ARCHIVELOG,则以下操作都不用执行,如果命令返回NOARCHIVELOG,请继续执行以下步骤:c..

2020-12-30 22:13:47 4594 8

原创 Linux系统中安装SQLServer

一、设置镜像curl https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo > /etc/yum.repos.d/mssql-server.repo二、通过yum安装SQLServeryum install -y mssql-server三、运行安装程序A.安装以后我们可以在opt下面看到mssql这个路径,具体的执行文件在这里面:B.运行/mssql/bin/mssql-conf

2020-12-17 20:42:07 5472 7

原创 MySQL查询某段日期内某段时间内的数据

背景:要求学校内各同学每天起床的平均时间,所以我们需要筛选出某学期内早上五点~早上十点之间的全部数据。之前如果是使用SQL Server,则可以使用CONVERT函数,具体代码如下:select * from v_come_out_record t where t.co_time between '2020-6-27' and '2020-11-27' and convert(varchar(5),t.co_time,114) between '05:00' and '10:00'但是我也

2020-12-17 11:15:56 3309 1

转载 LDAP理解入门

LDAP入门首先要先理解什么是LDAP,当时我看了很多解释,也是云里雾里,弄不清楚。在这里给大家稍微捋一捋。 首先LDAP是一种通讯协议,LDAP支持TCP/IP。协议就是标准,并且是抽象的。在这套标准下,AD(Active Directory)是微软出的一套实现。 那AD是什么呢?暂且把它理解成是个数据库。也有很多人直接把LDAP说成数据库(可以把LDAP理解成存储数据的数据库)。像是其他数据库一样,LDAP也是有client端和server端。server端是用来存放资源,client端用来操作

2020-12-04 17:01:47 375

原创 更改 Jupyter Notebook 启动的默认路径

1、打开Windows中的程序,找到Anaconda3目录下打开“Anaconda Prompt"2、进入.jupyter所在文件的目录,生成 jupyter_notebook_config.py文件一般默认在 C:\Users\Administrator 下jupyter notebook --generate-configy3、按照提示找到对应的py文件地址具体文件位置:4、修改自己设置的路径打开配置文件后,找到c.NotebookApp.notebook

2020-11-02 21:59:05 1151

原创 使用StreamSets将Oracle中的数据实时传输到Hbase

这次的测试是失败了的,有这个需求的小伙伴可以参考一下。主要原因可能是因为要测试的是Oracle 10g的数据库,所以一些StreamSets支持的参数变化的比较大。但是过程可以参考一下,一直到最后的验证其实都没有问题了。1、打开StreamSets管理界面在CDH中进入StreamSets的管理界面,点击WebUI:获取到打开StreamSets界面的格式与端口号: http://192.168.129.***:186302、创建一个新的管道填写新建管道的一些信息..

2020-08-19 10:19:50 1302 1

原创 将本地文件上传到GitLab中,遇到The authenticity of host ‘gitlab.*.org (192.168.*.*)‘ can‘t be established.问题解决

今天需要将之前整理好的API文档上传到公司的GitLab中,可能好久没有用过了,所以一些步骤忘了,其中遇到了 The authenticity of host 'gitlab.***.org (192.168.***.***)' can't be established. 这个问题,这里记录一下解决的步骤。1、首先打开git的控制台在准备clone的文件夹下,右键再点击Git Bash Here2、打开后去我们的GitLab中找到要上传文件的具体路径找到具体路径后,复制其中的Clone.

2020-08-18 11:08:23 7030

原创 StreamSets中配置外部库,解决上传jar包时报REST_1003 - Failed to create directory错误

遇到的问题今天在添加Oracle Database 的JDBC驱动程序包ojdbc.jar时,这里如果直接进行上传jar包则会报错,REST_1003 - Failed to create directory: lib:解决步骤:说明需要配置streamsets外部库,具体步骤如下A、B、C、D。A、进入到STREAMSETS_DATACOLLECTOR安装的路径一般路径为:/opt/cloudera/parcels/STREAMSETS_DATACOLLECTORB、.

2020-08-14 16:43:08 1319

原创 StreamSets中测试Pipeline时,报 .....metadata for topic ‘topicName‘ from broker ‘localhost:9092‘ 问题解决

今天在绘制Oracle数据库中数据导出到HBASE的管道时,验证测试时失败,一直弹出报错:2020-08-13 03:46:40,626 test_Oracle/testOracle20094215-4e64-431d-8ffd-7ba20f11706e WARN [Consumer clientId=consumer-15, groupId=sdcTopicMetadataClient] Connection to node -1 could not be established. ...

2020-08-13 18:35:38 783

转载 hbase常用操作以及 hbase表存储结构和原理

hbase原理及时间戳管理介绍分布式的、面向列的开源数据库hdfs文件存储MR处理数据zookeeper做协同服务hbase 表数据以表存储,表含行、列,列分为列簇(family),如下图:key1,key2,key3是三条记录的唯一row key值,column-family1,column-family2,column-family3是三个列族每个列族下包括几列,如列族 column-family1包括两列 column1 和 column2ro...

2020-08-10 16:43:31 708

原创 CDH中安装StreamSets 以及遇到的坑与解决

今天总结一下安装的StreamSets的全过程,并且中间遇到的问题与解决办法。一、下载StreamSets相关文件首先看Cloudera Manager server是否可以访问Internet获取这个Parcel,如果不行则需要手动安装文件。可以看到我本地这里就不能通过远程提供自己下载:手动安装StreamSets Parcel和校验文件,如果使用多个集群时,就需要对每个集群执行以下步骤。1、从下面这个链接下载适用于Cloudera Manager Server操作系统的相关文件h

2020-08-03 20:00:36 2008 1

原创 CDH激活分发parcel时因为意外错误卡住不能修改问题解决方案

问题背景:今天因为业务需求需要在CDH集群上安装StreamSets,结果因为权限的原因,之前我把这个parcel文件的权限变更为cloudera-scm,结果后面遇到这个问题了,问了之前部署CDH的人才知道他那时候用的权限是Root用户,所以现在卡在这里,也没有地方可以直接暂停:然后我点进去看详细的信息:可以看到cluster2-1这个结点因为权限的问题,导致不能激活。解决方案:Cloudera并没有在控制台开发Cancel或者回滚的入口,此时服务状态就是卡住页面无法操作。通过

2020-07-30 18:20:04 2718 2

原创 使用logstash将Oracle中的图片数据通过64编码后上传到ElasticSearch中

这里遇到一个问题,需要将Oracle中的图片数据导入到ElasticSearch中,大佬推荐方案将其中的数据通过64编码后上传到ElasticSearch中。这里做一个简单的总结。之前方案其实在之前也考虑通过file文件上传本地路径下,然后再解析。发现上传后的文件格式不能打开。logstash中的配置文件 LGT_ZP_SJ.config 内容:input { jdbc { jdbc_driver_library => "/home/logstash/libs/ojdbc

2020-07-21 18:02:27 446

原创 启动OGG时启动失败,报错 (status = 257-ORA-00257: archiver error. Connect internal only, until freed.).

今天修改了一些配置,重新启动OGG时直接闪退,然后查看ggserr的报错日志,发现报了下面这个错:.......2020-07-16 15:44:59 INFO OGG-03035 Oracle GoldenGate Capture for Oracle, EXTKAFKA.prm: Operating system character set identified as GBK. Locale: zh_Hans_CN, LC_ALL:.2020-07-16 15:44:59 INFO...

2020-07-16 17:10:21 1304

转载 数据融合(data fusion)原理与方法

数据融合(datafusion)原理与方法数据融合(datafusion)最早被应用于军事领域。现在数据融合的主要应用领域有:多源影像复合、机器人和智能仪器系统、战场和无人驾驶飞机、图像分析与理解、目标检测与跟踪、自动目标识别等等。在遥感中,数据融合属于一种属性融合,它是将同一地区的多源遥感影像数据加以智能化合成,产生比单一信息源更精确、更完全、更可靠的估计和判断。一.数据融合基本涵义数据融合(datafusion)最早被应用于军事领域。现在...

2020-07-09 13:04:55 29742 1

Oracle GoldenGate 11.1.1.1.0_Oracle 10g_64bit.zip

基于Windows64位操作系统,适合Oracle10g的Oracle GoldenGate。版本号为11.1.1.1.0

2020-06-16

BPMN2.0规范中文文档

这里较为详细的介绍了BPMN2.0: 1.1. BPMN 2.0是什么 1.2. 历史和目标 1.3. JPDL vs BPMN 2.0 1.4. Bpmn 2.0 执行 1.5. 配置 1.6. 实例 1.7. 流程根元素 1.8. 基本结构(事件、顺序流、网关、任务) 1.9. 高级结构(内嵌子流程、定时启动事件、中间事件、内部捕获事件) 1.10. 完全的实例(包括控制台任务表单)

2019-03-25

Activiti绘制的请假流程图

该流程图使用Activiti流程引擎绘制,是一个较简单的请假流程,适合刚接触的Activiti的童鞋

2018-12-11

linux环境下GIT学习讲解PPT

本文是一个专门介绍Git的PPT,可以用来给新手讲解关于Git的知识。从Git简介、Git安装、创建Git版本库、Git版本库中的版本控制与搭建Git服务器五个方面介绍Git。

2018-11-08

空空如也

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

TA关注的人

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