自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Kettle获取接口数据到表

配置JSON input控件:用HTTP client控件从接口读取到数据后,需要使用JSON input控件来解析,把查询结果转换为JSON。URL值是接口的具体地址,这个地址用浏览器打开能看到数据,直接给这个地址起名url,后面的核心对象控件用url来作为接口路径。配置HTTP client控件:勾选从字段中获取URL,URL字段名可以在下拉框中选择到上一个核心对象控件配置的url。到这里可以获取到的字段还有url,要进行字段选择(转换菜单下的控件),不要的字段去掉,最后选择的数据插入到表。

2023-05-15 16:06:09 1549 1

原创 CDH6离线部署

CDH6.3.1 离线安装部署一、服务器准备,CDH相关安装包准备好 都上传到服务器/home 目录下(一)修改hosts和hostname文件更新 /etc/hosts 和 /etc/hostname 文件用xshell或者CRT工具远程连接这些服务器,选中交互窗口,相同的命令输入 一键发送# IP地址和主机名根据实际情况替换echo "10.10.10.1 cdh001" >> /etc/hostsecho "10.10.10.2 cdh002" >> /etc/

2021-11-30 17:34:57 1865

原创 Linux下免安装版本的mysql5.7

一、首先检查服务器上是否安装有mysql:第一步:查看mysql安装版本rpm -qa|grep -i mysql第二步:卸载Mysqlrpm -ev --nodeps 【上一步查询到的mysql版本名称】最后删除关于mysql相关的文件夹:查找根目录下所有者是mysql和有mysql名称的文件find / -user mysqlfind / -name mysql把查找出的目录文件删除:rm -rf 路径二、开始安装配置mysql我用的是mysql-5.7.26-linux-gl

2021-11-25 17:37:46 1847

原创 [Error Code: 904, SQL State: 42000] ORA-00904 : 标识符无效

ORACLE ORA-00904 : 标识符无效 错误有以下几种情况:首先检查字段名和表名是否写错字段中是否包含了oracle中的关键字,查询时包含关键字的字段要用双引号括起来建表语句中字段或表名带双引号了,查询时也要加双引号备注:oracle 中的表名 、字段名 默认不区分大小写, 但是若建表语句中带双引号则区分,并且查询时要加双引号。例如:若建表CREATE TABLE tablename (ID number);select id,ID from tablename 与select

2021-11-03 15:26:36 10170

原创 Linux中的软链接使用

linux系统中有种文件是链接文件,能解决文件的共享使用。链接的方式分为两种,一种是硬链接(Hard Link),另一种是软链接或者也称为符号链接(Symbolic Link)。查看linux系统中的链接文件:[root@hyfstyle framework]$ lltotal 16lrwxrwxrwx. 1 root root 11 May 8 13:51 abc -> /opt/datadrwxrwxrwx. 3 root root 4096 Jan 23 11:39 dqm

2021-05-08 14:57:11 1027 1

原创 查看系统内存使用情况

一. top 命令查看Linux系统CPU、内存等使用情况%us:表示用户空间(没有通过nice调度)程序的cpu使用率;%sy:表示系统空间的cpu使用率,主要是内核程序;%ni:表示用户空间且通过nice调度过的程序的cpu使用率;%id:空闲cpu;%wa:cpu运行时在等待io的时间;%hi:cpu处理硬中断的数量;%si:cpu处理软中断的数量;%st:被虚拟机偷走的cpu。...

2021-04-29 17:01:35 1511

原创 SQL正则表达式

SQL语句可以搭配正则表达式作为查询条件,实现很多需求。REGEXP_LIKE 匹配:REGEXP_LIKE(String, Regexp) REGEXP_INSTR 包含EGEXP_REPLACE 替换REGEXP_SUBSTR 提取正则表达式常用字符:字符说明^匹配字符串的开始位置,若用在中括号中[ ] 时,表示不匹配括号中字符串$匹配字符串的末尾,若设置了表达式对象的Multiline属性,则也匹配’/n’或’/r’.匹配单个字符*匹配

2021-03-31 17:31:57 16112

原创 SQL 查询字段包含特殊符号的数据

SQL查询字段长度用 length,可以用length 查询出表里该字段的最长长度 max(length(COLUMN_NAME)),也可以查询字段长度大于某一值有多少条记录eg: select * from XX.TB_NAME where length(COLUMN_NAME) > 19;

2021-02-19 10:25:28 13109 1

原创 远程连接 greenplum

一、用 dbvisualizer工具远程连接greenplumgreenplum数据库底层封装的是 postgresql 数据库,所以JDBC驱动选择PostgreSQL

2021-01-06 16:11:49 943

原创 Windows上导出DB2数据

在Windows电脑上导出DB2数据,数据库服务器和客户端不在同一机器上。Windows本机要安装DB2客户端。在开始菜单运行里输入db2cmd1、先编目(要远程连接DB2数据库,要把远程的数据库信息加载到本地)db2 catalog tcpip node node_name remote hostname server service_port --catalog server 端的 node db2 uncatalog node node_name --取消节点的编目db2 cat

2020-12-17 09:47:33 769

原创 SQL中的not in 与 not exists

一. in 和 existsin是把外表和内表作hash连接,而exists是对外表作loop循环,每次loop循环再对内表进行查询 。select * from TABLE1 a where a.id in (select b.id from TABLE2 b);  --用到了TABLE1表上id列的索引,而子查询里的表的索引没用到;select * from TABLE1 a where exists (select b.id from TABLE2 where b.id=a.id);  -- 用

2020-12-03 16:51:43 5657 1

原创 Linux 系统时间修改

一. Linux 系统中 date 命令 显示系统当前时间根据指定格式显示当前时间:date +FORMATFORMAT注释%YYYYY格式的年份%mmm格式的月份 01-12%ddd格式的日期 01-31%HHH格式的小时数 00-23%MMM格式的分钟数 00-59%SSS格式的秒数 00-59%FYYYY-mm-dd格式的完整日期 同%Y-%m-%d%THH-MM-SS格式的时间 同%H:%M:%S%s自1970

2020-12-01 10:16:07 570

原创 UPDATE更新SQL

UPDATE 更新多个字段:使用SQL中的update更新多个字段值,set后面的条件要用逗号不能用and(set后面的多个条件之间没有关联也不可以有关联,所以不能用and);where 条件后面 可以and。update A set A1= 'XX', A2='XXX' where A.id = 1 and A.status='Y'; UPDATE B表中的某些字段值 到 A表:Oralce和DB2都支持的语法:UPDATE A SET (A1, A2, A3) = (SELE.

2020-11-05 16:56:25 512

原创 impala 时区问题

impala 默认配置不是中国时区,所以格式化时间戳的时候 用from_unixtime ,有八个小时的时间差如果不重启impala服务 可以用时间函数增加8小时,暂时获取正确的格式化日期:hours_add(from_unixtime(cast(substring( TIME_STAMP,1,10) as bigint),’yyyy-MM-dd HH:mm:ss’),8)或者直接修改impala配置并重启impala服务即可:Cloudera Manager -> Impala -> 配

2020-10-26 14:51:20 1558

原创 Linux环境变量

Linux环境变量 分系统环境变量和用户环境变量,系统环境变量对所有用户有效,而用户环境变量只对当前用户有效。Linux系统环境变量中路径名用冒号分隔:PATH=$PATH:路径1:路径2:...:路径n1、系统环境变量配置,修改profile文件,vi /etc/profile加上(例如配置JDK、SCALA环境变量):JAVA_HOME=/usr/java/jdk1.8.0_171SCALA_HOME=/usr/local/scala/scala-2.10.4export PATH=$PA

2020-09-28 11:52:11 94

原创 kettle加工处理月累、年累数据

有需要算 月累(当月1号至当前日期)、年累(当年1月1号至当前日期的销售数量、金额等)数据时, 数据只能一天一天累计加工。先初始化加工数据,可以扫描日期文件,用kettle加工数据, 一天加工一次;脚本调度扫描日期一天一天执行。#!/bin/bash#脚本所在路径WORK_DIR=/home/hadoop/ktl_wksLOG_DATE=`date +%Y%m%d`LOG_TIME=`date +%H%M%S`KETTLE_HOME=/home/hadoop/software/pdi-c

2020-09-25 12:51:42 763

原创 DB2 查看所有表空间占用磁盘空间大小

DB2 查看表空间使用情况,占用磁盘空间大小:SELECT A.SNAPSHOT_TIMESTAMP, A.TBSP_NAME, B.TBSP_TYPE, A.TBSP_STATE, A.TBSP_USABLE_PAGES * B.TBSP_PAGE_SIZE / 1024 / 1024 / 1024 AS TOTAL, A.TBSP_USED_PAGES * B.TBSP_PAGE_SIZE / 1024 / 1024 / 1024 AS USED, (A.TBSP_USABLE_PAGES

2020-09-02 17:39:27 5054

原创 MQ操作命令

MQ是通讯中间件,其中队列管理器: 相当于一个大容器的管理员;队列:相当于大容器里的东西,存放消息的盒子;通道:是大容器和大容器之间,程序和容器之间进行通讯的途径。MQSC全称为MQ Script Command,是MQ脚本命令;MQSC用于管理队列管理器对象,(包括队列管理器本身、通道、队列等)。显示队列管理器: dspmq要定义、修改通道、监听等需要进入队列管理器控制台。进入队列管理器控制台,QM_NAME为队列管理器名称: runmqsc QM_NAME查看所有通道: dis chl(*

2020-08-04 17:12:18 2205

原创 impala row_number() 用法

impala row_id 的生成方法 ,用row_number() 。若要给impala的维度表添加一个row_id 可以用row_number() over(partition by column1 order by column2 desc) as row_id最近处理impala数据时,源数据比较乱,没有规范。例如有份数据包含代码、名称、分类等;源数据里一个代码可能有多个不同的名称、分类等;把这份数据处理下,获取所有的代码,以及相应代码对应最多的那个名称、分类等(其他字段以此类推),将数据加工

2020-07-24 18:19:45 3878 1

原创 DB2数据库系统表的使用

DB2系统内置的视图 SYSCAT.TABLES其中常用的字段说明字段名说明STATUS状态,其值N = Normal,C = Set integrity pending,X = InoperativeCOLCOUNT列数(包含继承列)CARD表中总行数、记录数,是个大概值,启用压缩的表这个字段的值就不准NPAGES活动的页数量,当前表有效数据占用...

2020-07-15 15:50:35 3428

原创 greenplum 时间戳及日期函数

一、greenplum获取当前时间:select now(); --2020-06-24 16:43:32 获取当前时间年月日到时分秒select current_timestamp; --2020-06-24 16:44:53select localtimestamp; --2020-06-24 16:45:01select localtime; --16:45:22select current_time; --16:45:27select current_date; --2020-06-24

2020-06-24 17:08:49 11990

原创 DB2 命令导入导出数据

在Linux上用命令远程连接DB2数据库:db2 connect to 数据库别名(DB2编目) user user_name using passwordDB2数据库编目DB2 命令查看数据库表结构:db2 describe table Schema.table_nameDB2 命令查看视图创建SQL:db2 "SELECT TEXT FROM syscat.views WHERE viewschema='Schema_name' AND viewname='view_name' "DB2 exp

2020-06-23 17:02:51 8255

原创 Linux修改密码 报passwd: Authentication token manipulation error

passwd:Authentication token manipulation error 错误的解决办法:用root修改密码报错:[root@localhost ~]# passwdChanging password for user root.New password: Retype new password: passwd: Authentication token manipulation error报passwd:Authentication token manipulation

2020-06-16 18:22:44 9269 2

原创 mysql连接报ERROR 1045 (28000)

连接mysql 报 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) ;一般这个错误是由密码错误引起,一般重置密码即可。例如mysql重新初始化 后如果没有记录密码,就要重置密码才能连接:记录一下mysql重新初始化步骤:先删除datadir 目录下的文件[root@localhost ~]# whereis my.cnf ##查看my.cnf的具体路径my: /etc/my.

2020-06-04 17:59:19 706

原创 DB2 创建、删除索引

查询数据库表的时候,有时需要优化查询速度,给表创建索引。DB2 给表创建索引:create index index_name on table_name(column1,column2 ...); CREATE INDEX IDX_ORDER ON TDW.DC_ORDER(DT_DAY_ID); --例如给TDW.DC_ORDER表的DT_DAY_ID日期列建个索引DB2 删除索引:drop index index_name; --删除索引的时候 要在索引的OWNER 模式名下执行(不是表的

2020-05-21 15:26:32 10688

原创 [Error Code: 0, SQL State: HY000] Disk I/O error: Failed to open HDFS file

impala上tdm库的order表的某月数据有异常,需要重新上传,order表是按年月日分区的parquet文件格式存储数据的;例如20191201那天真实情况是没有数据的,但是因为异常操作导致混入了20191201的数据,后面再insert overwrite table tdm.order时 因为分区的原因,已经混入的20191201这天的数据需要手动删除 文件;手动删除hdfs目录下的文...

2020-05-20 17:15:03 4581

原创 设置表自增长ID

例如在DB2数据库中,给加工后的数据增加一个自增长的ID,建一张表CREATE TABLE TEST_TMP( ROW_ID INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 2020051911, INCREMENT BY 1 ), CODE VARCHAR(32), NAME VARCHAR(400), QTY DECIMAL(10,2), ETL_TIME

2020-05-19 18:38:47 1897

原创 kettle 跨库关联

要关联两个不同的数据库表获取一些数据,因为不在同一个库,所以一个SQL搞不定;又不想把A库的数据拿到B库,再处理;所以用kettle 的记录集连接(类似我们SQL中常用的 left join、right join、inner join)可以分别在两个表输入里加工好两部分数据选择我们要用到的连接类型 然后输入要关联的两个步骤里的字段然后选择需要的字段,先获取所有字段 然后把不需要的删掉最后表输出 获取到需要的数据。...

2020-05-12 18:28:36 3274

原创 mysql建表报Error Code: 1067, SQL State: 42000

mysql 建表 报[Error Code: 1067, SQL State: 42000] Invalid default value for 'XXX'mysql建表时对TIMESTAMP 类型的字段如果不设置缺省值或没有标志not null时候在创建表时会报这个错。备注:建表语句中的第一个TIMESTAMP类型的字段(如果未声明 NULL或 DEFAULT或ON UPDATE子句)将自...

2020-04-27 15:23:31 2268

原创 DB2创建存储过程

声明一个存储过程:CREATE PROCEDURE 存储过程名(IN 输入变量名 输入变量类型,OUT 输出变量名 输出变量类型)存储过程名后面是存储过程属性列表,常用的有:LANGUAGE SQL、MODIFIES SQL DATA、RESULT SETS 1(返回结果集个数)存储过程体以begin开始,以end结束调用存储过程:CALL 存储过程名(参数1,参数2,参数n)变量的定义:...

2020-04-26 17:55:47 6719

原创 DB2 V10.5 降低表空间高水位 释放磁盘空间

查看表空间使用情况:[pusinst1@localhost ~]$ db2 list tablespaces show detail

2020-04-14 13:56:12 5216

原创 DB2 压缩并重组表

大数据量的表应该进行压缩,不然会占用很大空间。实际上DB2表压缩的方法是通过查看整个表,找到重复的字符和字符串后,将那些字符和字符串存储在一个压缩字典中,然后用一个存储在字典中对应数据字符串的替代符号来替代表中的实际数据,从而达到了压缩数据的目的。一、开启表的压缩功能:建表时指定压缩 create table tableName compress yes修改表启用压缩:ALTER TAB...

2020-04-13 16:15:14 1932

原创 DB2 查看表所占磁盘空间大小

查看DB2数据库表占用的服务器磁盘空间连接数据库 :db2 connect to DB_NAME查看数据库页大小 (单位字节):db2 get db cfg|grep page查询表占用页的数量 db2 "select TABNAME, NPAGES from syscat.tables where TABSCHEMA='Schema' and TABNAME='tablename'"...

2020-04-13 14:20:02 8509 1

原创 抽取数据到impala数据量异常

最近,用kettle把DB2的数据抽取到impala上,发现数据量异常,数据错开等情况。检查发现DB2源表里的数据某个字段中内容含有英文的逗号,而impala上建的表TERMINATED BY ','也用英文逗号分隔的,所以造成数据错乱;另外源表数据字段内容包含换行、回车符也会导致到impala数据分隔异常 数据错乱。解决方案:针对分隔符,导致的 ;可以换一种分隔符 |,重新建表CREATE...

2020-03-27 16:46:54 1037

原创 linux crontab定时任务设置

写好脚本后,要给脚本设置定时任务,按需运行cron 中添加一个作业:crontab –e 编辑修改 crontab 文件;crontab –l 显示 crontab 文件进行编辑(与vi编辑方法类似)crontab 文件的格式:minute hour day month week full-path-shelleg.* * * * * /home/hadoop/ktl_wks/XX_ba...

2020-03-26 17:44:37 143

原创 DB2查看表锁定情况与解锁

当数据库中的表查询异常慢时,考虑可能是表锁定的原因连接数据库服务器,查看锁定情况用命令:db2pd -db DB_NAME -locks show detail用命令db2 get snapshot for locks on DB_NAME用SQL:select * from sysibmadm.locks_held with ur查看表锁定情况发现锁定,找到AGENT_ID,...

2020-03-19 11:39:25 14491

原创 DB2删除数据报错

delete 数据时报错DB2 SQL error: SQLCODE: -964, SQLSTATE: 57011是由于数据库日志文件已满,数据库日志大小=LOGFILSIZ4(LOGPRIMARY+LOGSECOND) 解决办法: 加大日志文件大小,增加主日志文件个数,增加辅助日志文件个数 db2 update db cfg for DB_NAME using ...

2020-03-18 13:13:10 1430

原创 kettle 抽取数据到CSV文件

要从数据库中导出数据量较大的数据到CSV文件中,用kettle来导出。新建一个kettle转换在表输入里获取数据源 可以直接给相应字段设置别名 输出到文件导出的文件名: 文件名称 浏览 自定义名称, 选择逗号分隔值的文件分隔符默认的是分号; 改成逗号 字符编码设置 根据导出的数据库编码格式设置 一般为 UTF-8:注意导出的CSV文件获取字段时,string类型 字段长度...

2020-02-29 11:53:49 2358

原创 sql 查询行数限制

DB2 用: fetch first 100 rows onlyeg:select * from Schema.Table_name fetch first 100 rows only; -- 检索前100行Mysql 用:LIMIT limit 可以有1个或2个参数,参数为整数常量;如果是两个参数,第一个参数指定返回记录行的偏移量,第二个参数指定返回记录行的最大数目。eg:select *...

2020-01-19 14:54:12 4656 1

原创 mysql 日期转换方法

mysql日期转换用str_to_date(date,'%Y-%m-%d') 相当于Oracle 中的to_date()mysql字符转换用date_format(date,'%Y-%m-%d') 相当于Oracle中的to_char()%Y:代表4位的年份%y:代表2为的年份%m:代表月, 格式为(01……12)%c:代表月, 格式为(1……12)%d:代表月份中的天数,格式为(0...

2020-01-15 18:05:21 1258

空空如也

空空如也

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

TA关注的人

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