- 博客(42)
- 资源 (3)
- 收藏
- 关注
翻译 gpcrondump备份命令翻译笔记(GreenPlum)
把一个数据库备份成SQL脚本文件,该脚本文件可以用gpdbrestore命令来恢复数据库。摘要gpcrondump -x database_name [-s schema | -t schema.table | -T schema.table] [--table-file=filename | --exclude-table-file=filename]
2018-01-20 12:45:37
2658
原创 Postgresql中时间戳与日期的相互转换(同样适用于GreenPlum)
--日期转时间戳SELECT EXTRACT(epoch FROM NOW()); SELECT EXTRACT(epoch FROM CAST('2017-12-06 00:17:10' AS TIMESTAMP)); --时间戳转日期SELECT TO_TIMESTAMP(1512490630)
2017-12-09 19:46:29
39278
1
原创 Linux下安装rar命令,简易而不简单
wget https://www.rarlab.com/rar/rarlinux-x64-5.5.0.tar.gztar -zxvf rarlinux-x64-5.5.0.tar.gzcd rarmake installmkdir -p /usr/local/binmkdir -p /usr/local/libcp rar unrar /usr/local/bincp rarfile
2017-11-16 18:30:49
10004
2
原创 GP通过外部表装载数据时遇到ERROR:extra data after last expected column解决方法
一般通过hive -e导出文本时,我都习惯把比较容易出错的String类型字段做一次regexp_replace()处理,因为如果字段里面含有制表符,那是一件很坑很坑的事。 hive -e "select regexp_replace(String_Col1,'\t',''),Date_Col2,Integer_Col3 ... from hivedb.export_table" | s
2017-10-17 20:01:07
16515
转载 12个scp命令传输文件的例子
本文转自博客:http://www.cnblogs.com/voidy/SCP(Secure Copy)是一个在各个主机之间进行复制或者文件传输的一个命令行工具。它使用一种同ssh一样的安全机制。事实上,它在后台使用ssh连接来进行文件的传输。scp既指一种定义安全复制应该如何工作的协议,也指一种可以被安装的作为OpenSSH工具套的一部分的软件或是指令。在这篇简单的教程中
2017-10-12 21:18:03
7241
原创 Linux下Samba服务配置笔记
1.yum方式安装samba服务(实践证明yum方式安装最方便)yum -y install samba2.养成好的习惯,先把smb.conf备份cp smb.conf smb.conf.bak3.配置samba服务vi /etc/samba/smb.conf[share] #共享文件夹名称comment=Linux share #服务器共享目录描述path=/
2017-09-30 00:01:57
885
原创 GreenPlum之日常SQL脚本笔记(二)
1.查看数据库中大于100MB的表的倾斜情况SELECT table_name,max_div_avg,pg_size_pretty(total_size) table_size FROM (SELECT table_name,MAX(size)/(AVG(size)+0.001) AS max_div_avg,CAST(SUM(size) AS BIGINT) total_size
2017-09-24 19:51:23
3342
原创 GreenPlum之日常SQL脚本笔记(一)
--1.指定月份总共多少天SELECT EXTRACT(DAY FROM CAST('2017-08-01' AS DATE) + INTERVAL '1 month' - INTERVAL '1 day')SELECT EXTRACT(DAY FROM CAST(TO_CHAR(NOW(),'YYYY-MM')||'-01' AS DATE) + INTERVAL '1 month' -
2017-09-18 20:59:38
2574
原创 Hive参数配置调优
hive通过将查询划分成一个或多个MapReduce任务达到并行处理的目的。每个任务都可能具有多个mapper和reducer任务,其中至少有一些是可以并行执行的。确定最佳的mapper个数和reducer个数取决于多个变量,例如输入的数据量大小以及对这些数据执行的操作类型等。保持平衡性是很有必要的,对于Spark/Hadoop这样的大数据系统来讲,数据量大并不可怕,可怕的是数据倾斜,每个
2017-09-07 00:16:54
1456
原创 SQLServer字段替换隐藏字符CHAR(0),踩坑后Get新技能
大半夜的不由的想说一句:世界上本没有坑,挖的人多了,于是就有了坑。但踩的坑多了,想问题的角度也就改变了,一切都很值。坑王驾到背景:用Kettle导SQLServer中的十几张表到PostgreSQL,导某个表的时候发现有些字段肉眼看上去是空白的,但死活都导不进去,用LEN()函数发现竟然有长度,职业性的加上LTRIM()和RTRIM(),匪夷所思的事情出现了,没有效果,长度和没加之前一样。
2017-08-30 01:17:37
4278
原创 Linux(CentOS)下Postgresql数据库的安装配置
1.验证本机是否已经安装:[root@master ~]# rpm -qa | grep postgresql2.yum方式加-y参数安装(-y默认需要选择的全部选择是)[root@master ~]# yum -y install postgresql*3.初始化数据库[root@master ~]# /etc/rc.d/init.d/postgresql initdbI
2017-08-29 00:00:08
2681
原创 CentOS下实现SCP免输密码传送文件
前提条件:两台CentOS主机拥有相同的用户名,假设主机A和主机B拥有相同的用户名binguo,只需下面两步1.以binguo帐户名登录主机A,主目录下执行如下命令生成配对密钥,不用管提示,一路回车;ssh-keygen -t rsa2.将主目录下隐藏目录.ssh中的id_rsa.pub文件复制到主机B的binguo主目录的/.ssh/目录中,并重命
2017-08-21 23:17:55
4949
1
原创 HiveQL逻辑执行顺序
FROM->WHERE->GROUP BY->HAVING->SELECT->ORDER BYHive总是按照从左到右的顺序执行的,如a、b、c三个表关联select a.id,b.colname,c.colname from a join b on a.id = b.id join c on a.id = c.id大多数情况下,hive会对每个join连接对象启动一个MapReduce任
2017-08-16 23:40:20
3662
原创 CentOS上以源码的方式安装Redis笔记
1.下载Redis指定版本到当前目录wget http://download.redis.io/releases/redis-4.0.1.tar.gz2.解压源码包tar zxf redis-4.0.1.tar.gz3.建立redis软连接(不把redis目录指定在固定版本上,有利于未来版本的升级,日常要养成这个好习惯)ln -s redis-4.0.1 red
2017-08-14 23:37:27
3162
原创 Python学习心得(七) 深入理解threading多线程模块
Python提供了多个模块来支持多线程编程,包括thread、threading和queue模块等。thread模块提供了基本的线程和锁定支持;而threading模块提供了更高级别、功能更全面的线程管理。queue模块,用户可以创建一个队列数据结构,用于在多线程之间进行共享。核心提示:避免使用thread模块 推荐使用更高级别的threading模块,原因如下:
2017-08-13 00:11:21
2614
原创 SQL Server返回两个Date日期相差共多少天零多少小时零多少分钟零多少秒
如果工作中遇到需要统计两个时间段相差的详细时间信息,你会怎么做?欢迎思考,欢迎讨论。我的需求是:统计两个时间段之间相差了共多少天零多少小时零多少分钟零多少秒,要求返回的是XX天XX小时XX分钟XX秒。1天 = 24小时 = 1440分钟 = 86400秒FLOOR()函数返回小于等于所给数字的最大整数,比如FLOOR(88.8)等于88。CEILING()函数返回大于等于所给数字的
2017-08-08 22:27:50
10794
1
原创 Python学习心得(六) 反射机制、装饰器
1.反射机制#/usr/bin/env python# -*- coding:utf-8 -*-'''Python反射机制的核心本质:利用字符串的形式去对象(模块)中操作(查找/获取/删除/添加)成员,一种基于字符串的事件驱动通俗讲就是通过用户传入url的不同,调用不同的模块函数,好多比较流行的web框架都是通过反射的机制,根据url的不同指向不同的模块getattr(),ha
2017-08-06 22:08:40
3467
原创 玩转正则表达式(Regular),这个世界正在奖励偷偷用心的人
声明:以下只是本人学习正则表达式的笔记概要,主要参考:正则表达式30分钟入门教程1.必记的常用元字符:.匹配除换行符以外的任意字符\w 匹配字母或数字或下划线或汉字 \W表示与之相反\s匹配任意的空白符 \S表示与之相反\d匹配数字 \D表示与之相反\b匹配单词的开始或结束 \B表示与之相反^匹配字符串的开始 $匹配字符串
2017-08-04 23:49:24
11181
原创 Python简单抓取优快云博文列表并写入SQL Server数据库
#/usr/bin/env python# -*- coding:utf-8 -*-import re #导入正则模块import requests #导入http客户端库import lxml.html #基于libxml2这一XML解析库的Python封装,该模块使用C语言编写,解析速度比beautiful soup更快import pymssql #导入Python的SQL Ser
2017-08-03 21:50:02
5623
原创 SQL Server通过外部程序集注册正则表达式函数(CLR函数)
1.下载dll程序集(通过C#编写的支持正则的方法),百度网盘下载:1.1如果只想用,可以直接下载MSSQLRegexExtend.dllhttps://pan.baidu.com/s/1qX8eHa81.2正则程序集对应的解决方案MSSQLRegexExtend.sln,已打包https://pan.baidu.com/s/1qXZja9m2.SQL Server数据库注
2017-08-02 21:17:05
4217
2
原创 SQL Server查看错误日志存档编号及其详情
--1.查看存档编号EXEC xp_enumerrorlogs--2.查看错误日志EXEC xp_readerrorlog 0,1,'Login','ds_user','',NULL,'DESC'--3.三天前到现在登录用户ds_user的错误日志DECLARE @BeginDate CHAR(14),@EndDate CHAR(14)SELECT @BeginDate = CO
2017-08-01 18:21:44
5971
原创 Hive基础编程入门(一)
设置查询时显示字段名称hive> set hive.cli.print.header=true;设置cli模式下显示当前所在的数据库名称hive> set hive.cli.print.current.db=true;设置hive的安全措施为"strict(严格)"模式(如果对分区表查询的WHERE子句中没有加分区过滤的话,将禁止提交这个任务)hive> set hive.mapre
2017-07-31 21:08:50
3861
原创 Kettle实现SQL Server数据到GreenPlum的每日同步调度
1.总的调度流程,通过linux下的crontab定时执行一个包含kjb执行信息的shell脚本2.XXXX_0_Execute_Judge转换下有两个作业,通过获取每天的同步状态值来判断是否执行同步工作,如果同步状态不满足,会发邮件告知3.XXXX_A0_Connect_Next作业下含有四个并行执行的作业,Message_Prepare_Yes作业负责的获取到同步状态O
2017-07-30 20:55:08
5580
原创 Eclipse(pyDev)导入Anaconda2发行版中的模块
1.在Python安装目录下的$PYTHON_HOME\Lib\site-packages新建一个MyPackageName.pth文件2.向MyPackageName.pth文件写入Anaconda2安装目录$ANACONDA2_HOME\Lib\site-packages的绝对路径#!/usr/bin/python# -*- coding:utf-8 -*-imp
2017-07-29 16:02:58
2667
原创 Python学习心得(五) random生成验证码、MD5加密、pickle与json的序列化和反序列化
# -*- coding:utf-8 -*-import random as rd #验证码import hashlib as hsl #MD5加密import pickle,json #pickle与json序列化#print rd.randint(1,5)#print help(range)#print help(rd.randint)#随机生成6位验证码:code =
2017-07-26 23:43:32
2405
原创 Python学习心得(四) yield和三元运算以及lambda表达式
1.yield 英文意思生产、生成的意思,在Python中带有yield的函数被称为生成器(Generator)'''for i in range(10000) #生成10000个元素的List 值越大,运行中占用的内存就会越大for j in xrange(10000) #xrange返回的不是List,而是一个iterable的对象 每次迭代返回下一个数值,占用很小的内存空间'
2017-07-25 22:48:52
4047
转载 DB2数据库函数大全
DB2 内置的函数真的是很多,要精通每个函数几乎是不可能的,所以本文并不打算介绍每个函数的具体用法,而是提供一个概览,让您了解每个函数的功能,这样,当你感觉你需要某些功能的函数时,再学习它们的具体用法也不迟。DB2 内置函数大体分为以下几类:聚合函数 类型转换函数 数学函数 字符串函数 日期时间函数 XML 函数 分区函数
2017-07-24 17:18:43
10860
原创 Python学习心得(三)函数之任意数量实参、任意数量关键字实参、导入模块中的函数
#!/usr/bin/python# -*- coding:utf-8 -*-'''1.传递任意数量的实参 Python允许函数传入任意数量的实参,例如: *messages形参名中的*表示让Python创建一个空的名称为messages的元组,接收传入的所有值'''def get_person_message(*messages): concat = ''
2017-07-23 21:30:01
3965
原创 Python学习心得(二) 字典Dictionary
前言 . 在Python中字典就是一系列的键值对,一种可变容器,可以存储任意对象,也被称作关联数组或哈希表。1.基本语法用一对花括号{}中的一系列键值对表示,键与值之间用冒号分隔,键值对之间用逗号分隔,例如:blogger = {'name': 'binguo','age': 27}2.访问字典中的值 print 'name:'+ blogger['name'] +' age:
2017-07-20 23:15:55
3180
原创 Linux下Shell编程之必背必记(一)
1.Shell常用特殊变量含义解释$# 传入Shell脚本的参数个数$? 最后运行命令的结束码(0表示:成功执行 非0表示:执行过程中出现异常或非正常退出)状态码:0 命令成功结束1 通用未知错误2 误用shell命令126 命令不可执行127 没找到命令128 无效退出参数128+x Linux信号x的严重错误130 Linux信号2的
2017-07-18 23:51:22
4786
原创 SQL Server表中某些字段含有水平制表符、换行符、回车符、反斜杠的解决办法
DECLARE @TableName VARCHAR(50);SET @TableName = 'Buzzreader_Data_Union';--系统表syscolumns中xtype = 61表示是日期字段,除了日期字段,其它都可以原样输出--char(9) 水平制表符--char(10) 换行键--char(13) 回车键DECLARE @datastr2 VARCHAR
2017-07-18 20:55:35
8057
原创 SQL实现统计字符串出现的频次
--主要用到REPLACE()和LEN()函数,任何数据库只要稍加修改即可使用。CREATE FUNCTION ufn_GetSubStrFrequency ( @TotalStr VARCHAR(MAX) , @SubStr VARCHAR(500) )RETURNS INTAS BEGIN IF @SubStr IS NULL
2017-07-17 20:18:32
5416
原创 Python学习心得(一) 列表List
1.何为列表1.1 列表作为序列(sequence)的一种,是一组有顺序的元素的集合。1.2 列表是Python中最常用的内置数据类型,用中括号[元素1,元素2...]括起,以逗号分隔,元素之间没有任何关系,可以是任何类型。2.列表的声明与访问 #!/usr/bin/python# -*- coding:utf-8 -*- #变量的声明market = ['Apple','B
2017-07-15 18:46:40
2172
原创 SQL Server根据表或视图批量生成插入语句并BCP导出成文本
--声明变量 DECLARE @TableName VARCHAR(100),@RunStr VARCHAR(MAX),@RunRC VARCHAR(MAX),@FinalRun VARCHAR(MAX) --在master库创建数据载体,也可以建立在其他数据库,但一定要是实体表,因为BCP导出不支持临时表 IF OBJECT_ID('master.dbo.tempinsertstr')
2017-07-14 23:05:44
1635
原创 GreenPlum之数组合并取交集及行变列、列变行函数
--1.利用INTERSECT关键字数组之间交集函数CREATE OR REPLACE FUNCTION array_intersect(anyarray, anyarray) RETURNS anyarray AS $$ SELECT ARRAY( SELECT UNNEST($1) INTERSECT SELECT UNNE
2017-07-13 23:35:31
4411
原创 SQL Server日常总结生僻小技巧 10个可能有八个平时都没用到过
--1.统计指定行的乘积:EXP(SUM(LOG(字段)))IF OBJECT_ID('tempdb.dbo.#a') IS NOT NULL DROP TABLE #aCREATE TABLE #a(i INT ,j FLOAT)INSERT #a VALUES(1,1.23)INSERT #a VALUES(1,0.59)INSERT #a VALUES(1,0.94)INSERT
2017-07-12 23:57:55
11792
原创 GreenPlum之按月份或季度实现行转列
1.参考GreenPlum之生成月份字典表 GreenPlum之生成月份字典表2.根据Case When语句及GreenPlum中string_agg聚合函数拼凑对应月份或季度周期字段,以下是核心实现sql,读者可根据需求自行修改: --字段按照月份行转列if position('yyyy-mm' in in_datecolum)>0 then out
2017-07-11 22:28:28
3641
原创 GreenPlum之生成月份字典表
--生成月份字典表drop table if exists monthmapping;create table monthmapping as select cast(to_char(onday,'yyyy-mm')||'-01' as char(10)) monthid,onday from (select cast('2001-01-01 00:00:00' as timestamp)
2017-07-10 23:22:59
2492
原创 Linux下crontab命令添加Kettle作业定时任务
1. 确保作业 $KETTLE_HOME/kitchen.sh -file=/data1/testdata/testkjb.kjb 或转换 $KETTLE_HOME/pan.sh -file=/data1/testdata/testktr.ktr 能在Linux下正常执行 此步骤在JDK配置正确,(Ps.可选择配置Kettle的环境变量,主要是定位程序所在主目录,不用每次引用绝对路径),
2017-07-09 22:33:26
2975
1
原创 GreenPlum之进程会话管理篇
--1.查询指定库下面的活动会话,procpid字段表示会话Procselect * from pg_stat_activity where datname = 'dbname';--2.中断查询,${procpid}表示上面查询对应的procpid,下同select pg_cancel_backend(${procpid}); --3.中断会话连接select pg_termina
2017-07-08 22:33:15
3828
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人