自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 clickhouse-client 数据导入导出

有时需要导入别人给的几百个文件,可以选择使用xargs批量导入。

2024-07-02 14:21:13 409

原创 Linux系统下openvpn部署及使用

【代码】Linux系统下openvpn部署及使用。

2024-06-04 15:01:22 575

原创 Elasticsearch reindex用管道转换类型

【代码】Elasticsearch reindex用管道转换类型。

2024-06-04 14:46:23 548 1

原创 pandas ExcelWriter写excel报错openpyxl.utils.exceptions.IllegalCharacterError

openpyxl.utils.exceptions.IllegalCharacterError 这个错误通常意味着在Excel工作表中使用了一些不合法或不被允许的字符,查看数据发现确实有特殊字符存

2024-05-24 22:48:30 644

原创 基础算法编程-门牌制作

例如门牌 1017 需要依次粘贴字符 1、0、1、7,即需要 1 个字符 0,2 个字符 1,1 个字符 7。小蓝制作门牌的方法是先制作 0 到 9 这几个数字字符,最后根据需要将字符粘贴到门牌上,请问要制作所有的 1 到 2020 号门牌,总共需要多少个字符 2?这条街一共有 2020 位住户,门牌号从 1 到 2020 编号。小蓝要为一条街的住户制作门牌号。【题目来自算法技能树】

2023-12-15 17:30:52 160

原创 基础算法编程-大衍数列

中国古代文献中,曾记载过“大衍数列”, 主要用于解释中国传统文化中的太极衍生原理。它的前几项是:0、2、4、8、12、18、24、32、40、50 …其规律是:对偶数项,是序号平方再除2,奇数项,是序号平方减1再除2。打印出了大衍数列的前 100 项。【题目来自算法技能树】

2023-12-15 14:51:12 191

原创 基础算法编程-切面条

如果连续对折2次,中间切一刀,可以得到5根面条。那么,连续对折10次,中间切一刀,会得到多少面条呢?如果先对折1次,中间切一刀,可以得到3根面条。一根高筋拉面,中间切一刀,可以得到2根面条。【题目来自算法技能树】

2023-12-15 14:47:36 250

原创 Hadoop集群破坏试验可靠性验证

模拟集群中hadoop2数据节点故障(datanode节点数量应该大于dfs.replication设置的文件块复制数,否则在删减datanode时不会成功,一直处于Decommission in process的状态)模拟hadoop集群中其中一台datanode数据节点宕机故障,验证是否影响文件系统和hbase的使用?模拟hadoop集群中其中一台datanode数据节点硬盘故障,验证是否影响文件系统和hbase的使用?(此方法有点类似第一种)集群中其中一台datanode数据节点硬盘故障。

2023-12-08 10:55:06 414

原创 rsync的核心算法:实现高效同步的秘密

rsync凭借其高效的同步算法Rsync算法,成为了许多系统管理员和开发人员的首选工具。通过只传输文件的差异部分、进行文件完整性校验以及支持增量同步等特性,rsync大大提高了文件同步的效率和可靠性。无论是在日常的系统维护中还是在开发过程中,rsync都是一个强大而实用的工具。

2023-12-08 10:31:19 444

原创 单节点hadoop搭建

编辑文件etc/hadoop/hadoop-env.sh配置JAVA_HOME。添加配置etc/hadoop/hdfs-site.xml文件。添加配置etc/hadoop/mapred-site.xml。配置etc/hadoop/core-site.xml文件。添加配置etc/hadoop/yarn-site.xml。

2023-12-08 10:26:41 289

原创 敏捷管理宣言与12原则

敏捷管理宣言(Agile Manifesto)是敏捷管理领域的核心价值观和原则的总结,它为组织和个人提供了指导,以实现更高效、更灵活和更具适应性的工作方式。原则是敏捷方法论的基础,指导团队在项目中如何更好地进行协作、管理变更、持续改进,以及提升软件开发的效率和效果。

2023-12-06 17:25:45 235

原创 rsync高效文件传输工具

【代码】rsync高效文件传输工具。

2023-12-06 17:10:51 207

原创 Windows下python多环境管理(poetry)安装配置

可以 poetry shell 进入虚拟环境后用 pip 安装报错的包。

2023-11-27 16:39:50 1870 1

原创 sparkrdd写入avro报空指针异常排查解决详细步骤

avro格式不允许值为null,为null的数据可以设置默认值如空字符串,但是有时候几百个字段可能有一两个可能从输入就是null,导致很难一下从众多代码中一下排查出来,日志就成了快速排除的利器。下面记录一次详细的排查步骤。从上面的日志可以看出写入的数据中的map中有一个value是null,但是并没有提示是哪个key的value,这需要自己遍历map排查。步骤三: 选择一个executor的stderr日志进去,找到输出的日志。这个日志是不会在yarn的stderr中显示的,查看日志的步骤如下,

2023-08-03 19:20:34 241

原创 HUE集成apach hadoop

如果集群使用MR1提交job则配置mapred_clusters,否则配置yarn_clusters(MR2),二者选其一。fs_defaultfs=hdfs://hadoop01:9000 #对应core-site.xml。#对应yarn-site.xml中的 yarn.resourcemanager.webapp.addres。--------------------------- 启动-----------------submit_to=False #标明不使用MR1提交job。

2023-07-10 09:10:46 104

原创 HUE集成

需要同时启动hive的metastore和hiveserve2。

2023-07-10 09:09:54 93

原创 HUE编译部署

缺少依赖:yum install gcc libffi-devel python-devel openssl-devel。编译过程中可能会出现错误,基本都是依赖安装的不到位,根据错误提示重新安装相应依赖即可。secret_key=allenzhang #任意值,越复杂越好,用来加密用的。原因是 /opt/hue/desktop/desktop.db 只有读权限。原因是包含desktop.db的文件夹对hue用户也是只能读不能写的。启动报错# build/env/bin/supervisor。

2023-07-10 09:08:42 154

原创 pandas DataFrame通过字段值快捷的刷选所在行的方法

如果要筛选多个条件的数据,可以使用逻辑运算符 &(与)、|(或)和 ~(非)进行组合。注意,如果DataFrame非常大,则需要使用更高效的方法来处理数据,如使用查询(query)方法或使用NumPy的布尔索引技术。2、使用DataFrame的loc方法选择要筛选的列,并将筛选条件作为布尔表达式传递给该方法。如果要选择特定列中具有特定值的行,可以使用isin()方法.例如需要name为b和f的行。筛选多个条件,可以使用括号将每个条件括起来,并使用逻辑运算符(如&和|)组合起来。

2023-07-07 15:54:21 136

原创 hdp2.5升级phoenix版本为4.8+

升级其他版本亦可用如下的操作方式。23、将修改后的/usr/hdp/2.5.0.0-1245/phoenix拷贝到其他所有节点中/usr/hdp/2.5.0.0-1245目录下。4、解压tar -zxvf apache-phoenix-4.8.2-HBase-1.2-bin.tar.gz。15、将上级目录以phoenix-pherf-4.8.2-HBase-1.1开头的jar包拷贝到当前目录。6、修改apache-phoenix-4.8.2-HBase-1.2-bin目录名为phoenix。

2023-06-01 10:06:04 187

原创 spark rdd写入es索引报错

Caused by: org.elasticsearch.hadoop.EsHadoopException: Could not write all entries for bulk operation [370/370]. Error sample (first [5] error messages):org.elasticsearch.hadoop.rest.EsHadoopRemoteException: mapper_parsing_exception: failed to parse field

2023-05-30 18:52:30 506

原创 python读取csv文件报错

Traceback (most recent call last): File "D:\pywork\ZT_DataTeamMember\zhanglh\python\knowledge_base\esi_rank.py", line 82, in csv_2_mdb(mdbPath) File "D:\pywork\ZT_DataTeamMember\zhanglh\python\knowledge_base\esi_rank.py", line 69, in csv_2

2023-05-23 19:18:01 1192

原创 python依赖包管理及打包工具poetry

Poetry 是 Python 中用于依赖管理和打包的工具。它允许您声明项目所依赖的库,并将为您管理(安装/更新)它们。Poetry 提供了一个锁文件来确保可重复安装,并且可以构建您的项目以进行分发。需要python3.7+

2023-05-23 11:31:32 643

原创 hbase集群部分异常问题解决

连不上zookeeper,查看zookeeper的日志文件有报too many connections from host - max is 10 的错误,因为hbase连接zookeeper的连接数太多,默认zookeeper给每个客户端IP使用的连接数为10个,目前每个regionserver有三百个region,stop zookeeper修改zoo.cfg:maxClientCnxns=300,重启zookeeper。就是有节点的标识可能重复。3).还有可能是防火墙的限制集群间的互相通信。

2023-05-23 09:24:44 724

原创 hbase 线程池问题处理

解决办法:关掉hbase集群,在每个RegionServer上的hbase-site.xml配置文件里面增加如下。phoenix报错:is opening on hadoop78,60020。Table PT_LABREPORT is okay.所有表都ok。注:hbase hbck -fix可以修复hbase数据不一致。命令hbase hbck:出现大量异常信息。

2023-05-18 14:26:59 243

原创 Hbase压缩的实现

(2) 读写性能:因为数据写入是先将kv数据值写到缓存,最后再统一flush的硬盘,而压缩是在flush这个阶段执行的,因此会影响flush的操作,对写性能本身并不会有太大影响;(1) 资源使用情况:压缩最直接、最重要的作用即是减少数据硬盘容量,理论上snappy压缩率可以达到5:1,但是根据测试数据不同,压缩率可能并没有理论上理想;根据读路径来看,数据读取到缓存之前block块会先被解压,缓存到内存中的block是解压后的,因此和不压缩情况相比,内存前后基本没有任何影响。

2023-05-16 11:33:03 286

原创 sparksession写入avro文件报错java.lang.NoSuchMethodError: org.apache.spark.sql.package$.SPARK_VERSION_METAD

根据错误信息,可以看出该错误是由AvroOutputWriter这个类的构造函数引起的,这个类是用于将Spark DataFrame数据写入Avro格式的。该构造函数在初始化的时候会使用SPARK_VERSION_METADATA_KEY方法,但是该方法在当前的Spark版本中不存在,所以导致了错误。这个异常信息提示在Spark作业运行时,调用了一个不存在的方法org.apache.spark.sql.package$.SPARK_VERSION_METADATA_KEY(),导致作业失败。

2023-05-12 15:24:15 184

原创 hbase并发问题

原因及修改方法:由于 Linux系统最大可打开文件数一般默认的参数值是1024,通过 ulimit -n 65535 可即时修改,但重启后就无效了。1.在/etc/rc.local 中增加一行 ulimit -SHn 65535。2.在/etc/profile 中增加一行 ulimit -SHn 65535。3.在/etc/security/limits.conf最后增加如下两行记录。

2023-05-12 09:27:00 95

原创 java spark读取嵌套json取值异常问题

在Java中,可以使用getJavaMap方法来获取Spark DataFrame列中类型为MapType的字段,并将其转换为Java Map类型,返回一个java.util.Map对象。Spark DataFrame中的value列是Scala集合类型,而不是Java集合类型。由于Scala和Java集合类型是不兼容的,因此这种转换导致了类型转换失败。sparksession load的数据中value字段是一个Json,直接转getAs读出成String导致了报错,代码及异常信息如下。

2023-05-11 09:49:17 219

原创 sparksession集成avro的问题记录

NoSuchMethodError,看样子是我的依赖包缺东西了,以过往经验很可能是scala的版本问题,查看了下spark web ui,惊了一跳,这个错误表示的 Spark 应用程序中缺少与 Avro 数据源相关的依赖项,这是因为我的pom.xml配置了scope。只能和同事们广而告之下,我们集群用的2.11,我先改为敬。使用的spark on yarn模式提交的代码,运行报错如下。去掉provided,将avro依赖包打入jar包即可。但是接着出现了以下报错。

2023-05-10 18:09:17 369

原创 hbase预分区建表

【代码】hbase预分区建表。

2023-05-10 17:20:40 171

原创 hbase升级

配置conf下的hbase-site.xml和hbase-env.sh,拷贝core-site.xml和hdfs-site.xml到conf。因phoenix全局索引需要加入防死锁配置,将hbase0.98.21升级到hbase0.98.4版本。将phoenix的jar包拷贝到hbase0.98.4的lib目录下。将配置好的hbase0.98.4拷贝到每一个hadoop节点。执行升级检查:hbase upgrade -check。执行升级:hbase upgrade -execute。

2023-05-10 17:19:12 195

原创 mongo运行时日志

在 MongoDB 中,可以通过设置运行时日志级别来控制 MongoDB 的日志输出详细程度。运行时日志级别设置为 3,即输出警告信息。需要注意的是,过高的日志级别会增加日志文件的大小,因此在实际使用中需要根据具体需求进行配置。2、MongoDB 还支持在运行时动态修改日志级别可以使用 db.setLogLevel(3) 命令来进行设置。

2023-05-05 15:55:29 1281

原创 每日敏捷学习No.7

风险往往登记在可视化的信息辐射源,而非基于文档的风险登记册和项目管理信息系统。你是Scrum团队中的敏捷教练。参考解析:题干暗示PO对其工作还未完全遵守敏捷方法,敏捷教练以服务型领导力来帮助PO遵守正确的工作方法。在一个回顾会议上,一个Scrum团队的多个成员提出了项目的一些严重的潜在风险。参考解析:识别到本次迭代中计划的产品待办事项无法完成,应该找PO来讨论如何调整。A.为下一个sprint待办列表增加用户故事来处理所提出的每一个风险。B.维护一个最新的信息辐射器,显示每个风险的优先级和状态。

2023-05-05 14:49:45 98

原创 安装MongoDB

MongoDB是一个高性能,开源,无模式的文档型数据库。Mongo使用C++开发

2023-05-05 14:06:47 48

原创 tracert网络诊断工具

在运行tracert或traceroute命令后,将看到一系列跟踪数据包的结果,显示了每个网络节点的IP地址和响应时间。通常,这些结果将显示跟踪数据包在网络中的路径,以及每个节点的延迟时间。如果这些超时请求不是持续发生的,而只是偶尔出现,那么这可能是网络拥塞或其他暂时性问题所导致的。如果这些超时请求持续发生,那么可能需要进一步诊断网络故障,并确定网络中的瓶颈所在。上图所示,当在tracert命令中出现多次请求超时时,这通常意味着数据包在网络中的某个地方被丢弃了。

2023-04-28 17:17:43 5317

原创 spark.write写出不使用压缩

其中 格式 就是想要使用的输出文件格式,如"csv"、"parquet"等。“output_path"是输出文件的路径。通过将compression选项设置为"none”,可以指示Spark不压缩输出文件。有时候做一些测试,show打印在yarn日志,但是显示不全,我想到写出到文件是比较方便的。但是company 封装的spark config默认带了加密压缩,写出到文件后也不能方便打开。在Spark中,可以通过设置输出文件的压缩格式来控制是否压缩输出文件。

2023-04-28 14:46:43 547

原创 每日敏捷No.6

参考解析:对项目有威胁的风险,需要向干系人沟通这些问题的状态(选项C),并且要在PBL中加入相应工作来处理这个风险(选项D),一个很有用的活动是构建一个基于风险的Spike试验方案(选项B),来帮助缓解风险。作为项目经理正在努力计算敏捷环境下的项目团队的表现,对于相同的工作范围,团队A计算了100个故事点,团队B计算了125个故事点。自组织团队是敏捷团队的资产。参考解析:敏捷团队是自组织的,他们为项目工作的交付承诺时间、不是为敏捷教练承诺时间。C. 完成从冲刺待办事项列表中选择的故事最多的团队。

2023-04-27 21:04:31 217

原创 hbase-0.96.x相对hbase-0.94.x的改变

类org.apache.hadoop.hbase.HTableDescriptor的构造方法public HTableDescriptor(String name)已被弃用(Deprecated)之前版本使用conf.set(TableInputFormat.SCAN, StatUtils.convertScanToString(scan));类org.apache.hadoop.hbase.client.HTablePool整个被弃用(Deprecated)

2023-04-27 16:54:24 82

原创 索引生命周期管理策略ILM

索引生命周期管理策略是一组规则的总称,它需要应用到某个索引上或者某个模板上。

2023-04-26 15:39:22 338

原创 sparksql处理存在损坏的记录(_corrupt_record)值报错解决

表示不能只写spark内部的特殊列_corrupt_record,需要有实际的列一起才可用,表明 jsonDs.filter(“owner is null and _corrupt_record is not null”)写法是不可取的。因为文件特殊符号导致该行读取无法解析才有的_corrupt_record,所以导致其他列是null,这是只要加一个其他列 is null的条件即可。报错信息,只看重要部分。修改filter的代码。

2023-04-25 14:16:14 309

空空如也

空空如也

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

TA关注的人

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