自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(112)
  • 收藏
  • 关注

原创 Chat2DB体验记录

Chat2DB 是一款有开源免费的多数据库客户端工具,支持windows、mac本地安装,也支持服务器端部署,web网页访问。和传统的数据库客户端软件Navicat、DBeaver 相比Chat2DB集成了AIGC的能力,能够将自然语言转换为SQL,也可以将SQL转换为自然语言,可以给出研发人员SQL的优化建议,极大的提升人员的效率,是AI时代数据库研发人员的利器,未来即使不懂SQL的运营业务也可以使用快速查询业务数据、生成报表能力。也支持docker部署,部署方式详见。

2023-08-21 15:26:30 424

原创 NiFi数据流实践:Mysql CDC To Hive

NiFi数据流实践:实时获取Mysql CDC数据,写入HDFS/Hive。NiFi版本:1.22.0。NiFi官方文档提供了详细的概念说明和使用说明,耐心通读一遍,就可以快速上手开发NiFi数据流。

2023-07-13 17:02:34 1186

原创 使用iTerm2打造macOS ssh神器

在日常工作中,经常要通过ssh连接远程服务器,每次连接都输入密码,会比较麻烦。在Window系统上,我习惯使用xshell管理连接,非常方便。在MacOS系统上,没有xshell,而一些类似xshell的工具中,好用的要收费,免费的不好用,于是决定使用iTerm2打造一个好用的ssh神器,提高日常工作效率。话不多说,直接上干货。使用iTerm2打造ssh神器,主要是通过Profiles功能,每个Profile对应一个ssh连接,然后打开Profile,就可以连接远程服务器。

2023-06-09 14:28:57 3920

原创 mapreduce异常分析:mr.MapredLocalTask: I/O error in redirector thread

分析数据时,发现一个表的数据有异常,排查发现2023-02-23和2023-05-23两个分区的数据在2023-05-27日被更新了。这张表的源表经常会更新历史数据,在hive中的更新方式是读取分区全部数据,进行数据更新,然后再重写分区数据。日志解读:在执行sql时,使用了mapjoin优化,启动了MapredLocalTask,上传mapfile成功后,出现redirector thread I/O错误。

2023-06-08 10:46:10 818

原创 Hive表统计信息采集及应用

Hive提供了分析表和分区的功能,可以将分析后的统计信息存入元数据中,该功能可以自动执行分析表或手动执行分析表。自动执行分析主要针对新创建的表,可以通过配置启用,配置说明详见。Hive默认启用表级别的统计信息收集,在DML(除了LOAD DATA语句)操作期间,自动收集并更新统计信息。默认不启用列级别的统计信息收集。手动执行分析StatsDev。

2023-03-27 12:50:54 1533 1

原创 clickhouse停止和避免mutations操作

在使用clickhouse时,使用了alter查询的delete和update操作进行数据的删除和更新,当大量使用这类操作时,造成clickhouse服务无法连接,观察日志发现,出现了大量mutation的操作,严重占用clickhouse资源。经过研究,发现ALTER DELETE和UPDATE表数据的实现机制是mutations。对于MergeTree表,mutations机制的操作会重写整个数据块(rewriting whole data parts),所以是一个重操作,会严重占用服务资源。

2022-10-20 08:57:14 2605

原创 Maven仓库镜像配置

在使用Maven构建中,使用仓库镜像,可以加速构建,这里介绍仓库镜像使用方法,留作笔记。

2022-07-18 14:42:58 1951

原创 git合并commit

在开发一个功能或者修复一个bug时,有时会commit多次代码,这时为了commit历史的完美,会想将多个commit合并为一个,想要实现这个目标,就需要用到 ,下面记录操作方法,留作笔记。

2022-06-17 10:16:06 8181

原创 文本多标签分类模型开发记录

文本分类是NLP应用领域中最常见也最重要的任务类型,也是机器学习领域的经典应用场景之一。本文通过笔者工作中的一个真实案例,讨论通过机器学习实现文本多标签分类的过程以及一些优化经验。对于文中涉及到的一些机器学习术语,如不理解其含义,可自行百度,或参考机器学习基础。案例介绍案例:试题知识点预测描述:中小学课程试题对应一个或多个知识点,现在想要通过机器学习训练出一个模型,可以通过试题文本,预测出试题知识点。这个案例可以抽象成一个文本的多标签分类任务,其中的知识点就属于标签。机器学习库:scikit-

2022-03-28 10:30:05 2466

原创 multipart/form-data类请求没有文件类型导致请求失败

开发了一个上传文件的api服务,框架是fastapi,发现部分操作系统访问api时,返回400错误。经过调查,发现是文件类型判断导致的,因为我在api代码中增加了文件类型判断,只允许上传docx文件。判断逻辑如下:allowed_file_types = [ 'application/vnd.openxmlformats-officedocument.wordprocessingml.document']if file.content_type not in allowed_file_types:

2021-11-26 15:45:00 992

原创 docker容器中使用opencv-python报错

在构建机器学习环境的docker镜像时,安装了paddlehub,paddlehub的依赖有opencv-python,使用时报错如下:Traceback (most recent call last): File "woodpecker/etl_main.py", line 2, in <module> from etl import etl_paper_html, tl_paper_paragraph_label, tl_model_inputs File "/ws/woo

2021-11-23 14:34:47 3190

转载 gitlab找回已删除的分支

清理分支时,不小心删除了还没合并进主分支的特性分支,最终使用git恢复分支的方法成功找回代码。这里直接使用参考文章内容进行说明,作为笔记备份。以下内容摘自 https://www.jianshu.com/p/8f8b264846961,找到该分支的最后一次提交的commitId,在gitlab的activity菜单:2, 在项目代码文件夹中打开git,执行 git checkout -b branchname commitId3, push到远程分支...

2021-10-28 10:53:09 8001

原创 Python Web集成Prometheus

本文分享Python集成Prometheus的方法。主要内容:FastApi/Starlette集成Prometheus通用方法集成PrometheusFastApi/Starlette集成Prometheus使用FastApi开发的Web应用,想要添加监控指标,主流方案是对接Prometheus。寻找解决方案时,发现Starlette有一个中间件 Starlette Prometheus。FastApi继承自Starlette,可以直接使用其中间件。这个中间件的官方文档描述的使用说明是

2021-10-14 17:02:28 2061

原创 Superset连接Spark-SQL

尝试使用superset连接spark-sql,superset官方文档只提到使用推荐使用pyhive,但是怎么连接,并没有详细说明,经过研究superset issues,结合自己的经验推测尝试,成功实现连接。由于网上资料较少,在此记录,以做备忘,同时希望能够帮助遇到同样问题的道友。连接方法1、首先启动spark的thrift服务2、superset连接spark-sql,SQLALCHEMY URI填写格式如下:hive://<spark-master-host>:10000s

2021-07-22 11:30:04 1245

原创 机器学习基础

根据自己的理解,整理了一些机器学习基础知识,如有偏颇,请指正。所谓机器学习,就是使用计算机模拟或实现人类的学习行为。机器学习是实现人工智能的根本途径。下述主要内容为机器学习基本术语的理解和介绍,机器学习领域的主要学习方法介绍,机器学习系统建设阶段的介绍。基本术语实例实例是要对其预测的事物。实例可以是一个图片,或者一段文本。标签标签是预测任务的答案。标签可以是小麦未来的价格、图片中显示的动物品种、音频剪辑的含义或任何事物。特征特征是预测任务中使用的实例的属性,是我们的目标事物或者是从目标事物

2021-06-11 16:05:03 1199

原创 机器学习模型API多进程内存共享

最近在做机器学习系统,模型训练好了,API也开发完了,目前使用的API服务套件是:fastapi + gunicorn + docker。但是有一个问题一直没有解决,就是当API服务启用多个worker时,一个worker会加载一次模型到内存中,内存资源的消耗非常大,如果直接这样使用,会极大的提升硬件成本,随着模型的增多,API服务的资源消耗是不可想象的,所以暂停了模型优化工作,在API上线生产环境前,这个问题需要着重解决一下。目标很清晰,就是找到一个方法使API服务的workers共享内存,也就是模型

2021-05-13 10:31:08 1796 3

原创 FreeIPA修改用户认证类型

不常用,粗略记一下。ipa ui,用户详情页,修改用户认证类型为密码,提示:访问受限:Insufficient 'write' privilege to the 'ipaUserAuthType' attribute of entry 'uid=test,cn=users,cn=accounts,dc=bigdata,dc=zxxk,dc=com'.调整用户管理员权限其中ipa特权 User Administrators下有一个权限 System: Modify Users。修改System:

2021-05-10 17:37:42 406

原创 Spark批处理读写Phoenix

关于Spark读写Phoenix,我找到两种方法,整理成笔记,用作备忘。方法一Phoenix官方提供了Spark插件,可以激活Spark和Phoenix的交互。地址:http://phoenix.apache.org/phoenix_spark.html如果使用CDH,Cloudera也提供了相应的工具,来实现Spark和Phoenix的交互。地址:https://docs.cloudera.com/documentation/enterprise/6/6.3/topics/phoenix_spa

2021-03-19 13:56:08 752

原创 tensorflow读取样本数据报错

在使用 tf.keras.preprocessing.text_dataset_from_directory 读取样本数据时报错如下:TypeError: Input 'filename' of 'ReadFile' Op has type float32 that does not match expected type of string.这个问题是样本数据存储结构不符合API输入规范导致的,正确的结构如下(摘自API官方示例):main_directory/...class_a/.....

2021-03-08 11:40:14 2122 5

原创 Ubuntu启动失败进入initramfs

主机Dell,操作系统Ubuntu。Ubuntu系统开机启动失败,进入initramfs,没有任何提示信息,exit命令无效,使用电源键重启后,再次进入initranfs,提示如图:如上图,按照提示,执行 cat /proc/cmdline 发现系统引导image配置是/boot目录下的一个文件,使用 ls / 查找 /boot,发现没有 boot 目录,这个问题大了,一度以为是我把 boot 目录删掉了,但是我确实没有做过这个删除操作。一顿操作之后,在grub中发现 boot 目录是存在的,但是为

2021-02-23 09:45:39 2479 1

原创 常见距离度量和相似度度量

在模式识别,数据挖掘,机器学习等领域,距离度量和相似度度量有着很广泛的应用,对这些度量算法有一定程度的理解,可以帮助我们更好的处理和优化在这些领域遇到的问题。距离度量算法和相似度度量算法是基础算法,经常被用在其他更高级的算法中。比如K最近邻(KNN)和K均值(K-Means)可以使用曼哈顿距离或者欧式距离作为度量方法。本文介绍一些常见的距离度量算法和相似度度量算法。算法定义描述,部分内容摘自百度百科,下面不一一标注。常见距离度量曼哈顿距离算法说明曼哈顿距离(Manhattan Distance

2021-01-29 17:05:26 1189 1

原创 spark读取hive权限被拒绝

使用spark读取hive表时,发生如下错误:Caused by: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.AccessControlException): Permission denied: user=xingweidong, access=READ_EXECUTE, inode="/user/hive/warehouse/ads_seer.db/user_action_from_xyio/dt=2020-12-

2021-01-20 17:47:53 4696

原创 Oozie启用任务失败重试

Hadoop集群使用的是CDH6.3.2,在使用Oozie进行工作流调度的时候,任务失败之后不会重试,有时候失败原因是一个偶然因素,如果任务重试,应该可以执行成功,但是Oozie默认没有启用任务失败重试,需要自己配置启用。本文描述如何启用Oozie的任务重试功能。一、配置Oozie进入Cloudera Manager,导航到Oozie 配置页。找到 oozie-site.xml 的 Oozie Server 高级配置代码段(安全阀),添加如下配置:名称值oozie.servic

2021-01-11 10:59:25 995

原创 javax.security.auth.login.LoginException: Receive timed out

CDH集群,启用了Kerberos(使用FreeIPA管理),没有启动防火墙。根据公司运维要求,需要启用防火墙。由于端口太多,而且还有动态端口,所以设置了防火墙策略,每个节点对其他节点开放指定范围的端口,节点上运行的服务不同,对其他节点开放的端口范围也不同,这个需要自己测试调整。在设置防火墙策略时,出现了zookeeper服务无法启动的问题,报错如下:2021-01-05 13:14:46,382 INFO org.apache.zookeeper.server.ZooKeeperServer: m

2021-01-05 14:32:37 6292

原创 maven使用Cloudera仓库

现在已经很少开发Java了,Maven用的也少,已经忘得差不多了,但是在工作中不可避免需要开发一些。生产用的大数据平台使用的是CDH6.3.2,在开发时需要在Maven中引入Cloudera的一些依赖包,这时就需要配置Cloudera仓库。本文记录配置过程,以作备忘。配置Cloudera仓库,编辑pom文件,添加如下内容:<repositories> <repository> <id>cloudera</id> <ur

2020-12-07 11:14:52 3479

原创 Ubuntu桌面美化方法记录

Ubuntu 20.04.1 LTS 桌面系统主题,图标美化记录。Ubuntu使用的是Gnome Desktop,可以在 Gnome-Look 寻找需要的主题,图标,插件等来丰富桌面系统。本文描述如何将Ubuntu桌面变成类Mac桌面。下载资源主题使用 McMojave,图标使用 McMojave-circle。下载 Mojave-dark 主题:下载图标:安装主题和图标安装步骤比较简单,只需要将主题和图标放到指定目录即可。目录说明可放置主题的目录:目录影响范围

2020-12-04 14:42:33 378

原创 Java连接安全集群Impala

本文提供一个通过Java连接安全集群的Impala服务的示例。

2020-12-03 13:26:02 480 1

原创 安全集群访问非安全集群问题记录

本文描述安全集群访问非安全集群遇到的问题及分析。案例使用Hive映射Phoenix表,其中Hive服务在启用kerberos的集群中,Phoenix在另一个未启用Kerberos的集群中。报错及分析HUE返回报错:Error while processing statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:Fail

2020-12-03 10:46:34 1308 1

原创 Java连接Phoenix

Phoenix JDBC Driver有两种,分别是Thick Driver。直接连接zookeeper和hbase。Thin Driver。构建在http服务之上的jdbc驱动。本文描述Thick Driver的使用方法。包含连接启用Kerberos的安全集群。连接说明根据Phoenix官网描述,使用Phoenix JDBC连接HBase集群的方法如下:Connection conn = DriverManager.getConnection("jdbc:phoenix:serve

2020-12-02 15:50:39 3749

原创 解决CDH集群主机Entropy告警问题

在Cloudera Manager Web控制台出现主机Entropy告警问题:这个问题是常见问题,按照告警的建议,使用 rng-tools 进行解决即可。查看系统熵值大小:cat /proc/sys/kernel/random/entropy_avail安装 rng-tools 工具yum install rng-tools修改 /etc/sysconfig/rngd 文件,如没有该文件就创建:cat /etc/sysconfig/rngd键入如下内容:OPTIONS="-r /

2020-12-01 16:35:14 380

原创 获取keytab文件

使用目标用户登录gateway01.bigdata.zxxk.com主机,例如xingweidong,执行以下命令:ipa-getkeytab -s utility1.bigdata.zxxk.com -p [email protected] -k ./xingweidong.keytab --password输入密码即可获取keytab文件。参数说明参数说明示例值-sFreeIPA服务端主机名utility1.bigdata.zxxk.com

2020-12-01 11:39:08 5868

原创 Hive集成Phoenix

Hive支持使用HDFS之外的存储系统作为底层存储系统,其中官方明确支持HBase,Kudu,Druid和JDBC(MySQL等)。Hive提供了相应的接口 StorageHandlers,用以实现和其他存储系统的整合。Phoenix实现了相应的接口,可以使用Phoenix作为Hive的底层存储系统,在Hive中操作Phoenix表,并和Hive本地表进行互操作。Phoenix官网该特性的详细描述可参考 Phoenix Storage Handler for Apache Hive。本文主要描述在C

2020-11-30 16:39:42 1007

原创 Cloudera Manager部署配置Phoenix

Phoenix,从直观上来看,是构建在HBase值上的SQL接口,在使用上和关系型数据库非常接近,同时具备大数据分析和低延迟的特性。Phoenix目前在Hadoop操作分析领域应用很广泛。Phoenix官网介绍如下:Apache Phoenix enables OLTP and operational analytics in Hadoop for low latency applications by combining the best of both worlds:the power of

2020-11-30 13:13:04 387

原创 Hive整合HBase

Hive支持使用HDFS之外的存储系统作为底层存储系统,其中官方明确支持HBase,Kudu,Druid和JDBC(MySQL等)。Hive提供了相应的接口 StorageHandlers,用以实现和其他存储系统的整合。本人整理的已有相应实现的其他存储系统有:Phoenix HBase,MongoDB,ElasticSearch等。本文主要讨论Hive整合HBase在使用上的一些关键内容,更详细的内容请参考 HBaseIntegration 。介绍Hive整合HBase之后,可以通过Hive QL语

2020-11-25 16:01:27 1345

原创 StreamSets - Hive漂移同步解决方案

什么漂移同步在解释漂移同步之前,首先简单说明以下数据漂移的概念。数据漂移,简单来说,就是数据存放时间分区错误。在数据仓库的源数据表分区中,同一业务日期数据下包含了不属于该天的数据或者丢失了该天的变更数据。这个一般是时间戳不准确导致的,而时间戳不准确的原因有很多,这里不做过多说明,可以自行查询资料了解。漂移同步,就是解决数据漂移这个问题的,根据构建的策略,将数据同步到正确的表中。Hive漂移同步解决方案,是StreamSets提供的一整套解决方案,可以将输入数据实时同步到相应的Hive表中。这个方案除

2020-10-10 14:06:03 1044

原创 Impala自动同步Hive元数据

在Cloudera官方文档 Impala Metadata Management,找到了CDH平台中Impala自动同步Hive元数据的配置方法。文档中提示这是CDH6.3/Impala3.3的一个预览特性,不是普遍有效的。经过在CDH6.3.2集群中的实际测试,发现对于Hive的一般操作,Impala都可以有效自动同步。文档中提到对于Spark INSERT Hive的操作,Impala也可以自动同步,不过我没有对此进行测试验证。这种机制称为 基于事件的自动元数据同步,是通过监控Hive元数据变动

2020-09-29 18:06:23 2162 3

原创 CDH集群如何使用服务用户

在使用CDH集群时,有时需要使用服务的超级用户去执行一些操作,但是CDH集群中的服务的默认用户不可以直接使用,这里记录了使用方法。未启用Kerberos使用nologin用户执行命令CDH安装的hadoop软件,hdfs,hive等用户是nologin用户,这种用户是不可以登陆或者通过root用户切换的,如果需要使用某个用户权限执行命令,则可以使用 sudo -u <user> [command]例如:sudo -u hdfs hdfs -ls /建议不要修改hdfs,hive等这

2020-09-23 15:07:14 327

原创 saveAsHadoopDataset和saveAsNewAPIHadoopDataset源码分析及用法说明

在研究Spark Streaming保存数据到HBase的时候,其中一种方案用到了Spark的两个算子,分别是saveAsHadoopDataset和saveAsNewAPIHadoopDataset,它们可以将RDD输出到Hadoop支持的存储系统中。本文对这两个算子进行一些源码分析,并以HBase为目标存储系统描述算子的使用方法。Spark版本:2.11-2.4.0-cdh6.3.2。HBase版本:2.1.0-cdh6.3.2。Hadoop版本:3.0.0-cdh6.3.2。前置知识在分析

2020-09-17 18:26:21 1135

原创 Spark Streaming保存数据到HBase

本文主要讨论Spark Streaming保存计算结果数据到HBase的实现方案,包括Kerberos认证。Spark版本:2.11-2.4.0-cdh6.3.2。HBase版本:2.1.0-cdh6.3.2。Spark保存数据到HBase,有两种方案:方案一:使用HBase Client。方案二:使用Spark API。每个方案有两种写法,一共四种写法,下面以一个示例进行说明,然后对主要部分进行拆解说明。完整示例示例场景:Spark Streaming消费Kafka,计算wordcou

2020-09-17 18:25:28 1300

原创 清除FreeIPA SSSD缓存

https://www.rootusers.com/how-to-clear-the-sssd-cache-in-linux/#:~:text=The%20SSSD%20cache%20can%20easily,specified%20records%20from%20the%20cache.https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/deployment_guide/sssd-cache

2020-09-15 19:34:48 3815 3

空空如也

空空如也

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

TA关注的人

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