- 博客(71)
- 收藏
- 关注
转载 hive 中decimal类型
Hive decimal类型,最好指定长度吧。刚开始以为Hive的decimal类型和MySql一致。后来发现想错了,还是个大坑! Hive的decimal类型借鉴于Oracle,decimal(m,n)表示数字总长度为m位,小数位为n位,那么整数位就只有m-n位了。这与MySql是不一样的,MySql就直接表示整数位为m位了。 如果你在使用Hive的时候发现字段长度不够,那会出现什么样的问题呢?Hive在处理数值字段的时候会直接置该字段值为NULL,不会将它截去。 如果你建的表不带...
2021-06-15 11:32:50
8139
2
原创 事物特性、隔离级别
1、事务的四大特性:ACID原子性:事务包含的操作,要么全部提交,要么全部回滚;一致性:事务必须使数据库从一个一致性状态变到另外一个一致性状态,即数据库不论事务实行前后都必须处于一个一致性状态 例如:A B两个账户之间不论怎么转账,转账前后,两个账户的和相同;隔离性:多个并发事务之间相互隔离;即要达到这么一种效果:对于任意两个并发的事务T1和T2,在事务T1看来,T2要么在T1开始之前就已经结束,要么在T1结束之后才开始,这样每个事务都感觉不到有其他事务在并发地执...
2021-02-18 19:27:09
264
转载 Python中零碎知识点记录
1:输出格式化: 对齐方式:星号用于加强显示效果,默认是空白 print ‘{:<30}’.format(‘左对齐’) # 左对齐************ print ‘{:>30}’.format(‘右对齐’) # ************右对齐 print ‘{:^30}’.format(‘居中对其’) # **居中对其* 字符串处理相关文章:http://blog.mcxiao
2016-01-21 18:20:29
473
转载 python面向对象--类学习记录
1:python支持封装、继承,但不支持多态; 2:在python中,类还可以继承多个类,在继承多个类时,它对类中的函数查找有两种方式: 在python3.X之后,都是广度优先; python2.7中广度优先的前提条件:D继承BC,BC又同时继承A,只有满足这个条件,新式类才会遵循广度优先,否则不会;( 新式类 :当前类或者基类继承了objiect类就叫新式类,否者
2016-01-20 19:16:10
363
原创 python脚本之间的引用
引用同一目录下的脚本: main_use_new2.py和tran.py为同一目录下脚本,pre_month_day为tran.py中的一个函数: main_use_new2.py脚本内容如下: from tran import pre_month_dayprint(pre_month_day(‘20160331’,13))执行main_use_new2.py脚本即可 –注意此时借用tran
2016-01-18 19:13:09
2265
转载 python中的时间函数编写
#coding=utf-8import calendar as calfrom datetime import datetime, timedeltadef last_day(date): ''' --------------------------------------------------------- @名称 --%@NAME:
2016-01-15 18:40:55
929
转载 GP优化
1.数据仓库优化原则尽可能使用压缩、按列存储将视图替换成实际的表将复杂查询拆分,利用中间表复用中间结果,一方面可以减少重复计算,节省IO, 另一方面也可以降低内存使用,提高效率。2. GP DB的SQL程序开发优化规范1、批量数据处理后,无论成功与否,都应该进行vaccum analyze .2、对于大表的DISTINCT操作,请用 GR
2016-01-08 19:06:53
1146
转载 GP数据库备份
1.表的逻辑备份方式1) 备份表结构及数据:create table new_tablename as select * from old_tablename;或select * into new_tablename from old_tablename where 1=1;2) 仅备份表结构(不备份数据):select * into new_table name fr
2016-01-08 19:05:37
2977
转载 GP与ORACLE数据库语法差异汇总
1. 基本数据类型差异 Oracle数据库 GP数据库 VACHAR2 VACHAR CLOB TEXT DATE DATE/TIME/TIMESTAMP NUMBER NUMERIC/SMALLINT/INTEGER/BIGINT/REAL/DOUBLE PRECISION BLOB BYTEA alter table
2016-01-08 18:59:48
7109
2
原创 GP中外部表数据装载
CREATE EXTERNAL TABLE ext_expenses ( name text, date date, amount float4, description text )LOCATION ('gpfdist//etlhost:8081/*','gpfdist//etlhost:8082/*')FORMAT 'TEXT' (DELIMITER '|')ENCODING
2016-01-08 18:49:38
5640
原创 GP中copy命令
--把外部文件(cvs格式)copy至数据库内部表mytable中COPY mytable FROM '/data/myfile.csv' WITH CSV HEADER; (文件生成在Master)\COPY mytable FROM ‘/data/myfile.csv’ WITH CSV HEADER;(文件生成在本地)--把 '|' 为分隔符的外部文件copy至数据库内部
2016-01-08 18:46:56
8307
转载 GP数据移植注意事项
1.移植/ETL开发过程中的注意事项(1). 在功能没有变化的情况下,除性能问题外,最好保留脚本原来的逻辑,只进行语法移植(将Oracle的特殊SQL语法转换为Greenplum DB能识别的ANSI【美国国家标准委员会】语法);(2).对于在朝GP数据库移植或新功能开发中需注意以下几类情况:Ø ETL脚本中的Oracle创建临时表SQL语句,需要修改,注意数据类型、数据分布等;
2016-01-08 18:45:21
1610
原创 GP中外部表例子
创建外部表注意事项:同一台机器上的外部表对应的gpfdist端口号尽量错开,从8081-8088gpfdist -p 8081 -d /ftp2/interface/data/GPload_home创建可写外部表:Greenplum也支持对外部表的写操作。这需要在创建表的时候指定写关键字:CREATE WRITABLE EXTERNAL TABLE weblogs(
2016-01-08 18:39:05
5750
原创 GP中的临时表
create global temporary table tkr_audi_samp_m_temp( deal_date numeric(8), prov_id character varying(5), element_id numeric(10), strategy_id numeric(10), cnt numeri
2016-01-08 18:37:48
4375
原创 GP数据库中的表
1.创建表1) 创建普通表:CREATE TABLE table_name ( column_1 integer PRIMARY KEY DEFAULT nextval('sequence_name'), --为表建立主键,并设置默认值为sequence自动生成; column_2 varchar(40) NOT NULL,--
2016-01-08 18:36:19
13140
原创 GP数据库开发语句
select to_number('1234','99999') --1234select to_number('1234','999') --123查看建表语句select show_tableinfo('dw', 'tb_cartoon_mag_info_d');在命令窗口查看表结构\d gp查看credit4表字段信息select * fr
2016-01-08 18:34:13
9453
1
原创 GP数据库系统管理语句
gpconfig -s max_connections;--查看最大连接数psql -h 10.255.235.96 -p 5432 -d ac -U gpconnectselect count(*) from pg_stat_activity;--查看连接数据库的活跃会话数查询GP数据库中表的数据量,去除系统表、外部表--select schemaname,tablen
2016-01-08 18:31:30
3874
转载 GP-Sql基础语法
SELECT SELECT select_list FROM table_expression [ORDER BY sort_expression1 [ASC | DESC] [, sort_expression2 [ASC | DESC] ...]] [LIMIT { number | ALL }] [OFFSET number]用户与ORACLE相似,l
2016-01-08 18:27:52
14541
原创 GP-sql编写原则
一、大表与小表关联 A、避免小表left join大表 解决方案: 小表left join(大表inner join小表的结果),其中可能还需要去重等结合实际逻辑的处理 B、分布键不是关联键,导致大表重分布现象 解决方案: 及时为大表收集统计信息,让GP将大表作为大表处理,而不是作为小表处理
2016-01-08 18:26:10
2252
原创 GP管理-基本语法
一:创建数据库1:create database new_dbname;2:客户端程序createdb,通过命令行:createdb -h masterhost -p 5432 new_dbname;3:克隆数据库缺省情况,创建数据库是通过克隆template1的方式完成的;可以通过克隆任何一个DB来创建新的数据库:create database new_dbname te
2016-01-08 18:19:17
1994
转载 GP数据加载卸载
在gp中提供了几种方式用于加载和卸载数据:external tables、gpload、copy等等,这几种方式没有优劣之分,只是在不同场景下使用不同的技术而已。本文将首先测试使用外部表的方式进行加载和卸载数据。外部表-external tables,分为只读readable和只写writable两种类别,而每种又可以分为常规regular和web两种类型。
2016-01-08 18:17:35
3031
原创 Linux if 语法
if [ ] 语句中参数意思:[ -n "${var}" ] 参数var长度大于0,则为真;例子:test_a.txt #! /bin/shstr=$1if [ -n "${str}" ]then echo "your input is '${str}' "else echo "your input is 'null' "fi
2016-01-08 18:04:36
375
转载 linux在shell中获取时间
linux在shell中获取时间获得当天的日期#!/bin/bash#/bin/datev_date=`/bin/date`v_date_1=$(date +%Y%m%d)v_day=`date +%Y%m%d`v_next=$(date -d next-day +%Y%m%d)echo $v_table$v_dateecho $v_table$v_
2016-01-08 17:59:13
615
转载 浅谈 PostgreSQL 的 timestamp 类型
PostgreSQL: 浅谈 PostgreSQL 的 timestamp 类型一 PostgreSQL 中的时间类型如下Name Storage Size Description Low Value High Valu
2016-01-08 17:54:20
25848
原创 GP数据库中时间函数例子
select to_timestamp(current_timestamp,'yyyy-mm-dd hh24:mi:ss')2015-11-27 15:40:01+08select current_timestamp(0)2015-11-27 15:42:56+08select current_timestamp(0)::timestamp2015-11-27 15:43:20
2016-01-08 17:52:37
16642
原创 python3.5[No module named 'encodings']报错
2015年12月份遇见的问题,报错详细信息:执行外部程序任务tmk_mail_use_cdr_h命令python /etl11/vgop_ac_gp/src/mail/mk/tmk_mail_use_cdr_h.py PRO_GPMK_tmk_mail_use_cdr_h tmk_mail_use_cdr_h 20151222 Fatal Python error: Py_Initia
2016-01-08 17:29:55
34217
原创 GP基础汇总
Copy语句使用:copy tbl_a to '/tmp/tbl_xulie.sql';copy tbl_a from '/tmp/tbl_xulie.sql'; 序列中的setval重置序列对象的计数器数值。双参数的形式设置序列的 last_value 字段为声明数值并且将其 is_called 字段设置为 true,表示下一次 nextval 将在返回数值之前递增该序
2015-07-18 19:25:31
769
转载 append_only表相关
在greenplum里面有一种appendonly表,只能insert,不能update、delete的一种表。压缩表、列存储表,必须是appendonly的表。下面介绍appendonly表的一些特性。1.首先建一张appendonly的表:[sql] view plaincopy1. aligputf8=# create table cxf_test1 with(appendonl
2015-07-18 19:23:54
2580
转载 GP中数据管理
Greenplum产品是基于流行的PostgreSQL之上开发,几乎所有的PostgreSQL客户端工具及PostgreSQL应用都能运行在Greenplum平台上。PostgreSQL支持大部分 SQL标准并且提供了许多其他现代特性:复杂查询、外键、触发器、视图、事务完整性、MVCC。同样,PostgreSQL 可以用许多方法扩展,比如, 通过增加新的数据类型、函数、操作符、聚集函数、索引方
2015-07-18 19:19:21
799
转载 Python脚本访问Greenplum数据库安装指导
安装前准备(1)操作系统(系统上面要安装一些必备的开发工具(比如gcc等))linux-82:/home/PyODBC # cat/etc/SuSE-releaseSUSE Linux EnterpriseServer 11 (x86_64)VERSION = 11PATCHLEVEL = 1(2)安装所需的软件包gree
2015-07-18 19:13:07
1045
原创 Oracle中分区汇总
CREATE TABLE "VGOPDW"."TDW_READ_CHAPTER_VISIT_CDR_D" ( "STATIS_MONTH" NUMBER(6,0), "STATIS_DATE" NUMBER(8,0), "USER_SERV_NUMBER" NUMBER(12,0), "LAST_2_NUM" NUMBER(2,0) GENERATED ALWAYS A
2015-06-25 18:22:07
466
原创 Oracle中的sqlldr
Oracle--sqlldr用法sqlldr VGOPDW/omzleSYC#565@TMDA CONTROL=63227_sqlldr.CTL log=63227_sqlldr.logSQL*LOADER是ORACLE的数据加载工具,通常用来将操作系统文件迁移到ORACLE数据库中。SQL*LOADER是大型数据仓库选择使用的加载方法,因为它提供了最快速的途径(DIRECT,PARA
2015-06-25 18:21:00
541
原创 Oracle中的去重
1。用rowid方法据据oracle带的rowid属性,进行判断,是否存在重复,语句如下: 查数据: select * from table1 a where rowid!=(select max(rowid) from table1 b where a.name1=b.name1 anda.name2=b.name2......)删数据: delete fr
2015-06-25 18:20:02
2273
原创 Oracle中的锁
SELECT a.* FROM V$LOCKED_OBJECT a,DBA_OBJECTS bwhere a.object_id=b.object_id and b.object_name like '%TDW_CARTOON_ROW_D%'and b.owner='VGOPDW'select T2.USERNAME,t1.SID,t1.TYPE,t1.LMODE,t1.REQUE
2015-06-25 18:17:54
513
原创 Oracle中创建数据库链接
PEAKSTS = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.248.3.45)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = tmda) ) )create datab
2015-06-25 18:16:18
960
转载 Oracle中RAC Failover 详解
Oracle RAC Failover 详解 Oracle RAC 同时具备HA(High Availiablity) 和LB(LoadBalance). 而其高可用性的基础就是Failover(故障转移).它指集群中任何一个节点的故障都不会影响用户的使用,连接到故障节点的用户会被自动转移到健康节点,从用户感受而言, 是感觉不到这种切换。 Oracle 10g RAC 的Fai
2015-06-25 18:13:10
567
原创 Oracle中的单引号(转义)
ORACLE单引号转义:在ORACLE中,单引号有两个作用: 1:字符串是由单引号引用 2:转义。 单引号的使用是就近配对,即就近原则。而在单引号充当转义角色时相对不好理解 1.从第二个单引号开始被视为转义符,如果第二个单引号后面还有单引号(哪怕只有一个)。 SQL> select '''' result from dual; RESUL
2015-06-25 18:10:39
55362
原创 Oracle中hint提示
oracle常用的HINT提示如何干预执行计划 - - 使用hints提示 基于代价的优化器是很聪明的,在绝大多数情况下它会选择正确的优化器,减轻了DBA的负担。但有时它也聪明反被聪明误,选择了很差的执行计划,使某个语 句的执行变得奇慢无比。此时就需要DBA进行人为的干预,告诉优化器使用我们指定的存取路径或连接类型生成执行计划,从而使语句高效的运行。例如,如果我 们
2015-06-25 18:08:36
456
原创 Oracle--正则表达式常用例子汇总
正则表达式用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。用户名:/^[a-z0-9_-]{3,16}$/密码:/^[a-z0-9_-]{6,18}$/十六进制值:/^#?([a-f0-9]{6}|[a-f0-9]{3})$/电子邮箱:/^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/URL:
2015-06-25 17:46:02
1024
原创 Oracle--正则表达式例子
-- 查询value中不是纯数字的记录select * from fzq ;select * from fzq where regexp_like(value,'^[[:digit:]]+$');--以数字开头,并且匹配多次,直到结尾select * from fzq where regexp_like(value,'^[[:digit:]]+');--以数字开头,并且含有一个或多
2015-06-25 17:43:43
531
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人