- 博客(44)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 Spark Streaming 出现‘numRecords must not be negative‘报错解决
参考过:https://blog.csdn.net/xueba207/article/details/51135423?utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7E
2021-08-12 17:30:08 870
原创 kettle连接GBASE数据库
1、下载gbase-connector-java-8.3.81.53-build55.2.1-bin.jar包,可以在gbase社区网站上下载,地址:http://www.gbase8a.com/forum.php?mod=forumdisplay&fid=1002、将下载好的jar包放入D:\kettle\data-integration\ext-lib3、在kettle建立数据库连接如图:...
2021-03-31 14:46:56 1825 3
原创 Scala日期和字符串互转及简单日期计算
import java.text.SimpleDateFormat import java.util.Calendarval start_date = "20180101"val date_pattern = "yyyyMMdd"val tmp_start_date = new SimpleDateFormat(date_pattern).parse(start_date)//结果:tmp_start_date: java.util.Date = Mon Jan 01 00:00:00 CST.
2021-03-16 10:09:13 883
原创 Spring报错汇总
1、报java.lang.NoSuchMethodError: org.springframework.util.StringUtils.matchesCharacter(Ljava/lang/String;C)Z,分析了下面代码,发现是spring-web的包导入冲突所致,如图1: ...
2020-11-15 21:53:44 1032
原创 Redis报错汇总
1、报redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool解决方案:将服务端的redis.conf的"bind 127.0.0.1"注释,再将"protected-mode yes"改为"protected-mode no",这个是我亲测有效的方法,其它的方法比如加大最大连接数或加大最小连接数及更改jedis版本,我这边没有碰到,我的服务端是redis-4.0..
2020-11-15 12:22:40 596 1
原创 CentOS(/dev/mapper/centos-root)进行磁盘扩容
转载:http://www.zxyf.net/show-8869.html一、虚拟机上先扩展分区:二、centos系统root登入,新建分区2.1 【fdisk -l】 最大分区为/dev/sda2,说明新创建的分区将会是sda3(在后面的步骤会进行选择)2.2 输入【fdisk /dev/sda】2.2.1命令行提示下输入【m】2.2.2输入命令【n】添加新分区。2.2.3输入命令【p】创建主分区。2.2.4输入【回车】,选择默认2.2.5输入【回车】,选择默认
2020-11-03 17:17:46 2585
原创 自动分析kettle脚本的血缘关系
SELECT * FROM R_DIRECTORY START WITH DIRECTORY_NAME = '根目录下的文件夹名' CONNECT BY PRIOR ID_DIRECTORY = ID_DIRECTORY_PARENT; --30 --以T打头的P层表,30是转换的总IDSELECT NAME,INSTR(NAME, '_', 1, 1) FROM R_TRANSFORMATIONWHERE ID_DIRECTORY = 30AND SUBSTR(NAME, INSTR(.
2020-11-03 09:35:28 2360
原创 配置ES集群注意事项
1、集群里面每一个主机新建es用户:useradd es,设置密码passwd2、将集群的shell脚本赋予u+x权限chmod u+x es_clouster.sh3、将集群里面的每一个es用户的/root/.bashrc的权限赋给es用户,这一步及其关键,不然集群启动不起来。chown -R es /root/.bashrc集群es_clouster如下:#!/bin/bash es_home=/usr/local/src/elasticsearch-6.6.0kibana_ho.
2020-11-03 08:21:36 328
转载 Python正确初始化二维数组
转载:https://www.cnblogs.com/coderzh/archive/2008/05/18/1201993.htmlPython中初始化一个5 x 3每项为0的数组,最好方法是:multilist=[[0forcolinrange(5)]forrowinrange(3)]我们知道,为了初始化一个一维数组,我们可以这样做:alist=[0]*5没错,那我们初始化一个二维数组时,是否可以这样做呢:multi=[[0]*5]*...
2020-10-10 11:03:34 4864 1
原创 Kafka报错总结
1、报no brokers found when trying to rebalance,解决方法:将Kafka服务端启动,./bin/kafka-server-start.sh config/server.properties
2020-09-13 16:38:23 1018
原创 Python groupby总结
1、分组排名取第n个1、先排序后分组 ans_fund_nav = ans_fund_nav.sort_values(by=['KEY1', 'TRADE_DT']).groupby('KEY1')2、取第一个ans_fund_nav_st = ans_fund_nav.head(1)[['KEY1', 'VLU']]2、分组排名用apply函数 ans_fund_nav = ans_fund_nav.sort_values(by=['KEY1', 'TRADE_DT'])\
2020-09-11 14:26:10 311
原创 python拆分超过数据库in支持最大参数
一般数据库sql的in后面支持1000以下个数的参数,遇到超过1000,之前没有很好的解决方案,我开发了一个字符串拆分函数,可以很方便的兼容超过1000个参数的情形
2020-09-02 17:34:02 307 1
原创 用MySQL自动创建和修改分区
1、自动创建分区CREATE DEFINER=`root`@`%` PROCEDURE `PROC_CREATE_Partition`(i_tableName VARCHAR(40), i_fieldName VARCHAR(30), i_startDate date, i_endDate date, i_freq VARCHAR(2))LEAVE_SIGN:BEGIN/*入参说明i_tableName:表名称i_fieldName:字段名i_startDate:开始日期i_endDat
2020-09-01 16:45:29 1093 1
原创 Hive分桶创建及查询抽样(samping)数据
分桶表的作用: 做数据抽样及提升某些查询效率,例如mapside join1、生成辅助表create table bucket_num(num int);load data local inpath '/home/keyan/hive_test/digit.txt'into table bucket_num;ps:digit.txt使用shell脚本生成的,生成1到20,脚本如下:for i in {1..20} do ec...
2020-08-29 19:03:38 400
原创 Hive内部表和外部表区别
建立内部表:# 创建create table art_inn(sentence string)row format delimited fields terminated by '\n';# 导入load data local inpath '/home/root/mapreduce/The_Man_of_Property.txt'into table art_inn;建立外部表:注意:外部表是在创建的时候定义实体数据的位置的,而且位置必须为文件夹,不能为文件。create
2020-08-29 17:40:00 780
原创 Hive UDF字符串匹配函数
1、需求用逗号分隔的细粒度子串(match_str)与粗粒度字符串(source_str)匹配,如果粗粒度子串和细粒度子串的交集,交集按照中文排序,形成以逗号分隔的字符串返回2、UDF函数:MatchStringimport org.apache.hadoop.hive.ql.exec.UDF;import java.util.ArrayList;import java.util.Collections;public class StringMatch extends UDF {..
2020-08-28 22:25:42 700
原创 Hive、Spark、Python实现WordCount
Hive:select word, count(*)from (selectexplode(split(sentence, ' ')) as wordfrom article) tgroup by word
2020-08-27 12:42:47 167
原创 Python通过判断Excel表格数据来移动文件
import osimport shutilimport xlrdexcel_path = r"D:\指标.xlsx"indicator_path = r"D:\IDX_V17"destination_path = r"D:\IDX"# 打开excel表格excel_wb = xlrd.open_workbook(excel_path)# 打开第一个sheet页sheet1 = excel_wb.sheet_by_index(0)# 行数减1,行数根据有值的行来确定rowNum .
2020-08-26 17:27:08 436
原创 Excel VBA跨sheet页字符串匹配替换
代码如下:Sub 替换() ' 表制作循环sheet页变量 i = 2 ' 词根循环变量 j = 2 '替换后字符串 replaceStr = "" '判断字符串是否在词根存在 ifExists = 0 '判断表制作sheet页的单元格是否为空,不为空才遍历 Do While Not IsEmpty(Cells(i, 1)) ' 单元格的值赋值给变量 fromStr = Cells(i, 1
2020-08-11 16:23:29 1208
原创 Python的Pandas库与Oracle Sql操作的一一对应关系
1、wheresql:select * from c12_prod_hold_summary where position_dt >= 20170704 and position_dt between 20170701 and 20170704 and sk_f_prod in ('pd02170163', 'pd02xyzh08') and secu_type_code not in ('期货', '远期') and account_projec...
2020-08-06 11:23:54 871 1
原创 Hive创建分区及动态和静态分区实例
1、动态分区全量注意:动态分区字段必须在最后面及必须设置set hive.exec.dynamic.partition=true;不然报错set hive.exec.dynamic.partition=true;set hive.exec.dynamic.partition.mode=nonstrict;set hive.exec.max.dynamic.partitions=100000;set hive.exec.max.dynamic.partitions.pernode=100000;
2020-08-06 10:07:25 1168
原创 Hive字符串、条件、复杂类型函数
1、concat:多个子串连接concat('1', '2')2、regexp_replace(源字符串, 匹配的子串, 替换的子串)select regexp_replace('a,b,c', ',', '|')3、if(判断语句, 满足, 不满足)select if(2>1, 1, 0)3、collect_ws:按行将值连接起来变成一个数组4、concat_ws:按照分隔符将数组的值连起来变成一个以分隔符分隔的字符串5、str_to_map:将字符串变成
2020-08-06 09:58:11 450
原创 linux系统cut、printf、sed、sort、awk、wc命令
1、cut:字段截取[root@master regex]# cat stu.txtID Name gender Mark1 Jordan M 1002 Kobi M 993 Mom F 90[root@master regex]# cut -f 2 stu.txtNameJordanKobiMom[root@master regex]# cut -f 2,3 stu.txtName gende...
2020-08-05 22:10:27 1093
原创 Python常见报错汇总
1、ImportError: cannot import name 'TcpServer' from 'platforms.action'原因:版本冲突,sys.path里面有v1.1版本的路径,导致它去找了v1.1版本,而没有找3.0版本解决方案:查看环境变量的PYTHONPATH或者PATH变量(Administrator和系统变量)是否含有v1.1版本,有的话删除即可。...
2020-08-05 15:59:59 435
原创 Hive开窗函数last_value、lead、lag、row_number、rank、dense等
一、开窗类1、求截止到当前行不为空最后一个值select calendar_day,if_trade_dt,mkt_code,last_value(tmp_trade_dt, true) over(partition by mkt_code order by calendar_day desc) as gt_trade_dt,last_value(tmp_trade_dt, true) over(partition by mkt_code order by calendar_day) as.
2020-08-04 17:54:01 1629
原创 Hive日期处理
1、求自然日、上一自然日、下一自然日、本周初/末、本月初/末、本季初/末、本年初/末、一月/三月/六月/一年前等selectcalendar_day AS CALENDAR_DAY, --'自然日(日期型)'regexp_replace(calendar_day,'-','') AS CALENDAR_DT, --'自然日(数值型)'date_add(calendar_day, -1) AS LAST_CALENDAR_DT,...
2020-07-31 10:42:47 3801 1
原创 windows/linux日常运维
1、热键冲突,按D键直接退出,解决办法:点win+r,输入osk,调出软键盘,手动点击fn和windows键解决
2020-07-30 17:53:25 264
原创 Kudu运行报错汇总
1、通过./kudu-master start启动报错,cd /var/log/kudu, tail -100f kudu-master.ERROR,得出如下报错F0728 08:07:46.019979 4220 master_main.cc:68] Check failed: _s.ok() Bad status: Service unavailable: Cannot initialize clock: Error reading clock. Clock considered unsynchr.
2020-07-28 19:55:16 592
原创 Spark的Server模式和例行模式的区别
(1)都是Spark应用程序(2)Server是7*24h,而例行跑完就没有了(3)例行模式:每次启动需要去申请资源 ,而Server模式只有启动的时候申请,申请资源时间可以缩短(4)例行模式资源无法共享,但Server模式多个提交的作业能资源共享...
2020-07-12 13:32:10 468
原创 Spark访问Hive的表
step 1:将$HIVE_HOME/conf/hive-site.xml拷贝到$SPARK_HOME/conf目录下step 2:spark-shell模式:./spark-shell --master local[2] --jars ../jars/mysql-connector-java-5.1.49.jarstep3:spark-sql模式:./spark-sql --master local[2] --jars ../jars/mysql-connector-java-5.1.49.j
2020-07-10 07:55:16 399
原创 Spark的三种运行模式
总结:不管什么运行模式,代码不用改变,只需要在spark-submit脚本提交时通过--master xxx 来设置你的运行模式即可1、local模式:本地运行,使用该模式做开发,使用local模式的话,只需要把spark的安装包解压开,什么都不用动,就能使用./spark-submit \--class Charpter5.DataSourceApp \--master local \--name DataSourceApp \--jars /home/keyan/maven_repo.
2020-07-08 07:25:14 1956
原创 在idea看scala源码
1、先下载scala源包地址:https://www.scala-lang.org/download/2.11.8.html2、解压scala的source压缩文件到与非source同一目录即可,图(1)为非source版本解压后的文件目录,图(2)为source版本解压后的文件目录,注意:你们看到的这个目录结构是非source版本和source版本合起来的目录,不是单一的,切记。图(1)图(2)3、将scala根目录的src通过如下方式添加进来。4、实际效果
2020-06-23 23:47:56 1373 2
原创 运行spark报错汇总
1、Global Library右键没有Scala SDK选择,导致无法new出scala,解决方案:安装scala sdk,我使用如图(1)装的
2020-06-22 21:25:29 1905
原创 scala -cp运行Maven打包的jar包报错解决方案
通过Maven打包后运行报错, scala -cp scala_learn-1.0-SNAPSHOT.jar HelloScala,如图(1) 图(1)解决方法如下:在SourceFolders下面只能有一个文件夹,有两个就报上面的错误,如图(2)...
2020-06-20 14:28:25 270
原创 MapReduce运行报错时如何定位到错误信息
当用命令行运行mr的时候程序跑得好好的,但一放到hadoop里面就报错,关键不知道怎么定位到mr报错,经过总结如下:当遇到 INFO mapreduce.Job: Job job_1588308947581_0024 failed with state FAILED due to: Task failed task_1588308947581_0024_m_000000 报错时, 如下图...
2020-05-04 22:51:54 1480
原创 输出两个数值或日期之间的所有数值或日期
数值1到10的求法:SELECT 1 + ROWNUM - 1 FROM DUAL CONNECT BY ROWNUM < 10 -1 +2;日期20160101到20180630的求法:SELECT TO_NUMBER(TO_CHAR(TO_DATE(20160101,'YYYYMMDD') + ROWNUM - 1,'YYYYMMDD')) DT ...
2018-10-19 17:10:20 332
原创 文件系统的dup和dup2函数
dup和dup2函数#include <unistd.h>int dup(int oldfd);int dup2(int oldfd, int newfd);dup和dup2都可用来复制一个现存的文件描述符,使两个文件描述符指向同一个file结构体。如果两个文件描述符指向同一个file结构体,File Status Flag和读写位置只保存一份在file结构体中,并且file结构体的引用计数是
2015-09-30 08:27:46 389
原创 Linux文件I/O的lseek,fcntl和ioctl函数
lseek函数每个打开的文件都记录着当前读写位置,打开文件时读写位置是0,表示文件开头,通常读写多少个字节就会将读写位置往后移多少个字节。但是有一个例外,如果以O_APPEND方式打开,每次写操作都会在文件末尾追加数据,然后将读写位置移到新的文件末尾。lseek和标准I/O库的fseek函数类似,可以移动当前读写位置(或者叫偏移量)。#include <sys/types.h>#include
2015-09-29 10:35:59 819
移动开发简介
2013-06-20
No DNS servers found
2013-06-24
TA创建的收藏夹 TA关注的收藏夹
TA关注的人