- 博客(90)
- 收藏
- 关注
原创 pandas ExcelWriter写excel报错openpyxl.utils.exceptions.IllegalCharacterError
openpyxl.utils.exceptions.IllegalCharacterError 这个错误通常意味着在Excel工作表中使用了一些不合法或不被允许的字符,查看数据发现确实有特殊字符存
2024-05-24 22:48:30
954
原创 基础算法编程-门牌制作
例如门牌 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
188
原创 基础算法编程-大衍数列
中国古代文献中,曾记载过“大衍数列”, 主要用于解释中国传统文化中的太极衍生原理。它的前几项是:0、2、4、8、12、18、24、32、40、50 …其规律是:对偶数项,是序号平方再除2,奇数项,是序号平方减1再除2。打印出了大衍数列的前 100 项。【题目来自算法技能树】
2023-12-15 14:51:12
236
原创 基础算法编程-切面条
如果连续对折2次,中间切一刀,可以得到5根面条。那么,连续对折10次,中间切一刀,会得到多少面条呢?如果先对折1次,中间切一刀,可以得到3根面条。一根高筋拉面,中间切一刀,可以得到2根面条。【题目来自算法技能树】
2023-12-15 14:47:36
282
原创 Hadoop集群破坏试验可靠性验证
模拟集群中hadoop2数据节点故障(datanode节点数量应该大于dfs.replication设置的文件块复制数,否则在删减datanode时不会成功,一直处于Decommission in process的状态)模拟hadoop集群中其中一台datanode数据节点宕机故障,验证是否影响文件系统和hbase的使用?模拟hadoop集群中其中一台datanode数据节点硬盘故障,验证是否影响文件系统和hbase的使用?(此方法有点类似第一种)集群中其中一台datanode数据节点硬盘故障。
2023-12-08 10:55:06
454
原创 rsync的核心算法:实现高效同步的秘密
rsync凭借其高效的同步算法Rsync算法,成为了许多系统管理员和开发人员的首选工具。通过只传输文件的差异部分、进行文件完整性校验以及支持增量同步等特性,rsync大大提高了文件同步的效率和可靠性。无论是在日常的系统维护中还是在开发过程中,rsync都是一个强大而实用的工具。
2023-12-08 10:31:19
534
原创 单节点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
312
原创 敏捷管理宣言与12原则
敏捷管理宣言(Agile Manifesto)是敏捷管理领域的核心价值观和原则的总结,它为组织和个人提供了指导,以实现更高效、更灵活和更具适应性的工作方式。原则是敏捷方法论的基础,指导团队在项目中如何更好地进行协作、管理变更、持续改进,以及提升软件开发的效率和效果。
2023-12-06 17:25:45
383
原创 sparkrdd写入avro报空指针异常排查解决详细步骤
avro格式不允许值为null,为null的数据可以设置默认值如空字符串,但是有时候几百个字段可能有一两个可能从输入就是null,导致很难一下从众多代码中一下排查出来,日志就成了快速排除的利器。下面记录一次详细的排查步骤。从上面的日志可以看出写入的数据中的map中有一个value是null,但是并没有提示是哪个key的value,这需要自己遍历map排查。步骤三: 选择一个executor的stderr日志进去,找到输出的日志。这个日志是不会在yarn的stderr中显示的,查看日志的步骤如下,
2023-08-03 19:20:34
312
原创 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
142
原创 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
209
原创 pandas DataFrame通过字段值快捷的刷选所在行的方法
如果要筛选多个条件的数据,可以使用逻辑运算符 &(与)、|(或)和 ~(非)进行组合。注意,如果DataFrame非常大,则需要使用更高效的方法来处理数据,如使用查询(query)方法或使用NumPy的布尔索引技术。2、使用DataFrame的loc方法选择要筛选的列,并将筛选条件作为布尔表达式传递给该方法。如果要选择特定列中具有特定值的行,可以使用isin()方法.例如需要name为b和f的行。筛选多个条件,可以使用括号将每个条件括起来,并使用逻辑运算符(如&和|)组合起来。
2023-07-07 15:54:21
185
原创 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
232
原创 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
551
原创 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
1347
原创 python依赖包管理及打包工具poetry
Poetry 是 Python 中用于依赖管理和打包的工具。它允许您声明项目所依赖的库,并将为您管理(安装/更新)它们。Poetry 提供了一个锁文件来确保可重复安装,并且可以构建您的项目以进行分发。需要python3.7+
2023-05-23 11:31:32
1033
原创 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
800
原创 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
334
原创 Hbase压缩的实现
(2) 读写性能:因为数据写入是先将kv数据值写到缓存,最后再统一flush的硬盘,而压缩是在flush这个阶段执行的,因此会影响flush的操作,对写性能本身并不会有太大影响;(1) 资源使用情况:压缩最直接、最重要的作用即是减少数据硬盘容量,理论上snappy压缩率可以达到5:1,但是根据测试数据不同,压缩率可能并没有理论上理想;根据读路径来看,数据读取到缓存之前block块会先被解压,缓存到内存中的block是解压后的,因此和不压缩情况相比,内存前后基本没有任何影响。
2023-05-16 11:33:03
322
原创 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
216
原创 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
117
原创 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
263
原创 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
455
1
原创 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
233
原创 mongo运行时日志
在 MongoDB 中,可以通过设置运行时日志级别来控制 MongoDB 的日志输出详细程度。运行时日志级别设置为 3,即输出警告信息。需要注意的是,过高的日志级别会增加日志文件的大小,因此在实际使用中需要根据具体需求进行配置。2、MongoDB 还支持在运行时动态修改日志级别可以使用 db.setLogLevel(3) 命令来进行设置。
2023-05-05 15:55:29
1376
1
原创 每日敏捷学习No.7
风险往往登记在可视化的信息辐射源,而非基于文档的风险登记册和项目管理信息系统。你是Scrum团队中的敏捷教练。参考解析:题干暗示PO对其工作还未完全遵守敏捷方法,敏捷教练以服务型领导力来帮助PO遵守正确的工作方法。在一个回顾会议上,一个Scrum团队的多个成员提出了项目的一些严重的潜在风险。参考解析:识别到本次迭代中计划的产品待办事项无法完成,应该找PO来讨论如何调整。A.为下一个sprint待办列表增加用户故事来处理所提出的每一个风险。B.维护一个最新的信息辐射器,显示每个风险的优先级和状态。
2023-05-05 14:49:45
114
原创 tracert网络诊断工具
在运行tracert或traceroute命令后,将看到一系列跟踪数据包的结果,显示了每个网络节点的IP地址和响应时间。通常,这些结果将显示跟踪数据包在网络中的路径,以及每个节点的延迟时间。如果这些超时请求不是持续发生的,而只是偶尔出现,那么这可能是网络拥塞或其他暂时性问题所导致的。如果这些超时请求持续发生,那么可能需要进一步诊断网络故障,并确定网络中的瓶颈所在。上图所示,当在tracert命令中出现多次请求超时时,这通常意味着数据包在网络中的某个地方被丢弃了。
2023-04-28 17:17:43
7054
原创 spark.write写出不使用压缩
其中 格式 就是想要使用的输出文件格式,如"csv"、"parquet"等。“output_path"是输出文件的路径。通过将compression选项设置为"none”,可以指示Spark不压缩输出文件。有时候做一些测试,show打印在yarn日志,但是显示不全,我想到写出到文件是比较方便的。但是company 封装的spark config默认带了加密压缩,写出到文件后也不能方便打开。在Spark中,可以通过设置输出文件的压缩格式来控制是否压缩输出文件。
2023-04-28 14:46:43
675
原创 每日敏捷No.6
参考解析:对项目有威胁的风险,需要向干系人沟通这些问题的状态(选项C),并且要在PBL中加入相应工作来处理这个风险(选项D),一个很有用的活动是构建一个基于风险的Spike试验方案(选项B),来帮助缓解风险。作为项目经理正在努力计算敏捷环境下的项目团队的表现,对于相同的工作范围,团队A计算了100个故事点,团队B计算了125个故事点。自组织团队是敏捷团队的资产。参考解析:敏捷团队是自组织的,他们为项目工作的交付承诺时间、不是为敏捷教练承诺时间。C. 完成从冲刺待办事项列表中选择的故事最多的团队。
2023-04-27 21:04:31
251
原创 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
112
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人