teradata学习笔记(一)

teradata学习笔记(一)本文主要介绍 teradatasql 的在工作中用到的一些基础知识 用于数据仓库或者数据集市中的开发

本文主要介绍teradata sql的在工作中用到的一些基础知识,用于数据仓库或者数据集市中的ETL开发。

ETL 过程中我们主要用到三个 Teradata 工具:

Fast Load / Multi Load (较少):将源数据文件导入到数据库 Stage 区

BTEQ:调用SQL执行转换过程

DW Automation: 在整个过程中起到调度、控制和监视的作用,当相应控制文件到达后,它根据配臵负责调用相应的作业。

ETL总体处理过程如下:


a) Data Pump 从 Data Source 中抽取数据形成 Data Files;

b) Data Files 被 ETL Server 上的接收进程 FTP 到 File Directory;

c) 调用Fastload/MultiLoad将 Data Files 导入到 PD_STAGE;

d) 通过 BTEQ 调用 SQL 转换到目标库PD_DATAs.

teradata学习笔记(一)


1.日期格式

FORMAT用于数据在输出时的格式化处理,但它并不影响数据的内部存储格式。

SELECT salary_amount (FORMAT '$9.99');

或者

SELECT CAST (salary_amount AS FORMAT '$9.99')from XX表;

CAST的使用方法是Teradata的扩展,因为这里CAST处理的是一个数据的属性,而在ANSI标准中,CAST只能用于处理一种数据类型。
在Teradata中,日期数据的缺省输出格式是:YY/MM/DD
而ANSI标准建议的日期显示格式是:YYYY-MM-DD
日期转换:varchar类型转换为date类型

select cast(data_begin_date AS DATA FORMAT 'yyyymmdd') from XX表 

2.数据的导入与导出

从txt数据文件中导入数据到TERADATA数据库表中,操作如下:

1)表结构要和即将导入的txt的数据结构相同,才能顺利导入。
2) insert into Test values(?,?,?,?);–问号代表字段

3)选中TD SQL Asistant软件的File菜单–> Import Data 然后执行sql语句(F5),

同样,如果想要导出为数据文件,则选中TD SQL Asistant软件的File菜单–>Export Data,option中可以设置导出数据文件的格式,例如字段之间的数据选择空格还是‘|’分割。

3.拉链日期

拉链日期:比如查找某一天的全量数据,
即select * from xx表 where begin_date<=20160831 and end_date>20160831的数据
前闭后开,因为在end_date在20160831那天是下一个状态,不是当前状态

如果一条记录的end_date=’2999-12-31’,则表示该条记录目前处于有效状态

增量抽取:

1)全表对比方式:ETL进程逐条比较源表和目标表的记录某一段时间是否变化,将新增和修改的记录抽取出来,如果没有变化,则不抽取

2)时间戳方式:抽取进程通过比较系统时间与抽取源表的时间戳字段的值来决定抽取哪些数据。在源表上增加一个时间戳字段data_begin_date,每天更新修改表数据的时候,同时修改时间戳字段的值。

4.CASE表达式

case value-expr
when expr1 then result1
when expr2 then result2
else resultn  
end  

例:计算部门401的工资数占整个公司工资总数的比例。

SELECT SUM(
CASE department_number
WHEN 401 THEN salary_amount
ELSE 0
END) / SUM(salary_amount)
FROM employee;

5.临时表(提高SQL操作性能)

全局临时表

可变临时表

导出表

对会话(session)是本地的,
但是每个用户会话可以有自己的实例。

对会话(session)是本地的存在于整个会话期间,而不是单个查询

对查询是本地的 存在于整个查询期间,查询结束后,表被丢掉。

使用 CREATE GLOBAL TEMPORARY TABLE语法。

使用 CREATE VOLATILE TABLE语法创建。

并入 SQL查询的语法

会话(session)结束时,物化的表的实例被丢掉。

会话(session)结束时,自动丢掉。

查询完成后,Spool 缓冲区的记录被丢掉

在数据字典中创建并保持表的定义。

不使用数据字典。

不使用数据字典 减少系统负载。

     






































版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/228746.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月16日 下午6:18
下一篇 2026年3月16日 下午6:18


相关推荐

  • Windows批处理(.bat)常用命令教程

    Windows批处理(.bat)常用命令教程批处理的语句不多,但是在某些时候,结合常用的一些cmd命令,可以解决很多重复性的工作。下面是一些对批处理命令的总结,如果需要学习的话,对这些关键字有个印象就可以了,如果忘记怎么用,可以使用关键字/?来获取帮助,帮助内容都是中文,很容易理解,比如:常见问题:(1).bat输出中文乱码:把文本格式改成ANSI(2)双击bat文件,直接闪退:在代码最后一行加上pause,相当于C语言中的getchar(),让页面执行完之后不要关闭。1echo和@回显命令@#关闭单行回显echooff

    2022年8月22日
    13
  • 导航上显示某个地点已关闭什么意思_大众MIB(275)教程之导航使用「建议收藏」

    导航上显示某个地点已关闭什么意思_大众MIB(275)教程之导航使用「建议收藏」大众可以说近几年的发展非常快,仅车载收音机都更换了好几代了。从最初的单纯收音机到后来的6碟CD机RCD510,最初国内上市的导航RNS510,还有后来自带蓝牙的RNS315,再到PQ平台187A,当初抄的也是火的很几乎每天都能看到187A的帖子,直到出现了升级版的187B,这个自带carplay和百度canlife的PQ平台的机器一下将老款车型导航的改装推上了最巅峰,也把一款拆车机…

    2022年5月7日
    85
  • navicat premium15激活码(JetBrains全家桶)

    (navicat premium15激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlS3…

    2022年3月26日
    73
  • PowerBuilder — 条码打印

    PowerBuilder — 条码打印#使用ocx控件使用微软的MSBCODE9.OCX,但是注册老不成功,需要安装office之后才能注册成功,不知道有没有好的处理方法??#使用字体字体下载:http://download.csdn.net/detail/easyboot/9452777字符转换:代码来源http://club.excelhome.net/thread-606919-1-1.html…

    2022年7月26日
    16
  • Spring Cloud 基础(Greenwich版)

    Spring Cloud 基础(Greenwich版)SpringCloud 基础 Greenwich 版 基础环境 parent demopom xml parent groupId org springframew boot groupId artifactId spring boot starter parent artifactId version 2 1 6 RELEASE version parent

    2026年3月18日
    2
  • 草根程序员转型做项目管理走过的点点滴滴之_华为裁员感想

    草根程序员转型做项目管理走过的点点滴滴之_华为裁员感想自己一直假想还停留在29岁那个黄金年龄,仿佛明天就要30岁(老话里而立的年纪),因此总感觉要拼命的工作,拼命的学习好让明天立的更稳固一些。缘起百度了一把华为裁员的相关报道,又看了几篇别人写的华为裁员的理解已经对中国it行业的痛批文章,把我一下子拉回了现实,85年出生在农村的自己到现在恰好也是三十二几岁的阶段,发现也没啥立不立的,还是那个拼命三郎的状态,顿时有些迷惑与感伤。

    2022年7月17日
    21

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号