版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Copyright 2007 by Shenzhen Tianyuan DIC Information Technology co.,ltd. 本文件是深圳天源迪科信息技术股份有限公司为内部培训所准备 未经天源迪科许可不得向第三方透露或用于其他目的,深圳市高新技术产业园区南区南七道T3大厦B三层 ADD:3/F,T3 Building,Nanqi Road,South Area Shenzhen Hi-Tech Industrial Park,Shenzhen, P.R.C 电话(TEL):+86-755-26745688 传真(FAX):+86-755-26745666 邮编(P.C.):5
2、18057,Greenplum 数据库基础 和应用开发 作者: 张利民 日期:09年09月,2020/8/12,- 2,目标、对象 基本概念 数据扩展 数据库访问基础和资料(客户端、java等) 后台C语言开发基础和资料 后台MapReduce开发,目录 contents,2020/8/12,- 3,目标、对象,目标 为适应BI引入超大规模数据库开发平台而作技术准备。 对象 系统开发人员,2020/8/12,- 4,基本概念体系类型,2020/8/12,- 5,基本概念GP网络结构,2020/8/12,- 6,客户端访问,直接后台用psql gpadmindb2serv1 $ psql psq
3、l (8.2.13) Type help for help. gpadmin=# l List of databases Name | Owner | Encoding -+-+- gpadmin | gpadmin | UTF8 postgres | gpadmin | UTF8 template0 | gpadmin | UTF8 template1 | gpadmin | UTF8 (4 rows) 缺省连上gpadmin数据库,重要命令: l 列服务器上所有数据库 c 数据库名 连接具体数据库 z 列数据库上所有表 d 表名 desc一个表(列情况,列数据类型) i 文件名 执行一个脚
4、本文件 sql语句“;”结束后,回车自动执行 或g执行 timing 切换执行语句后是否统计执行时间 encoding 输出转码,输出乱码时有用 ? 显示命令的帮助,2020/8/12,- 7,客户端访问,PC端用PGAdmin postgresql tool客户端工具 下载:pgadmin3.msi 输入连接参数 进入主界面,直接查询,输入语句等.,2020/8/12,- 8,Java访问Greenplum,准备驱动、配置入口 org.postgresql.Driver jdbc:postgresql:/192.168.161.61:5432/gpadmin gpadmin gpadmin
5、在代码中访问 Connection myConn= myMan.requestConnection(); Statement stmt = myConn.createStatement(); StringBuffer sb = new StringBuffer(select c1 from t1); ResultSet myResultSet= stmt.executeQuery(sb.toString(); String c1; while (myResultSet.next() c1=myResultSet.getString(c1); stmt.close();,2020/8/12,-
6、9,与Oracle的一些区别,create table 语句要加distributed by子句,否则自动以第一列分布 select 语句可以没有from . varchar2数据类型 对应varchar number数据类型 对应numeric 函数: oracle Greenplum NVL COALESCE Case when end 有直接对应 sysdate current_timestamp to_char(date,#) 有直接对应,如to_char(current_timestamp,yyyymmdd hh24:mi:ss) to_date(xxxx,#) 有直接对应,2020
7、/8/12,- 10,自由访问资源,服务器:192.168.161.61 端口 5432 数据库 gpadmin 用户名、密码: gpadmin / gpadmin 访问工具:PGAdmin postgresql tool 下载:pgadmin3.msi 文档下载:GPAdminGuide333.pdf(第VIII章 ReferenceSQL Commnad Reference节)、postgresql-8.4.chm 驱动:postgresql-8.4-701.jdbc4.jar 存放在 ,2020/8/12,- 11,最常用导数据过程,准备文本文件,格式 971,6363064,20090
8、8,12,3544576,2009-09-01 15:06:08,2009-09-03 12:23:52,163064,7782233,85,4.89 971,3544576,200908,12,7533951,2009-09-03 08:06:32,2009-09-04 20:07:08,129636,7782233,85,3.89 建外部表 create external table CALL_TICKET_ext ( LATN_ID numeric(6), . CHARGE numeric(10,2) ) LOCATION (gpfdist:/192.168.161.62:8080/CA
9、LL_TICKET.txt) (DELIMITER , NULL 0 FILL MISSING FIELDS ESCAPE OFF ) ; create table xxx select * from 外部表 CREATE TABLE CALL_TICKET AS SELECT * FROM CALL_TICKET_EXT DISTRIBUTED BY (CALLING_NBR,START_TIME);,2020/8/12,- 12,后台C语言开发基础和资料,采用otl模板库 采用unixOdbc开源项目 定义 #define OTL_ODBC_UNIX #define OTL_ODBC_UN
10、IX / uncomment this line if UnixODBC is used #include / include the OTL 4.0 header file otl_connect db; otl_stream OTLStream; otl_connect:otl_initialize(); / initialize ODBC environment db.rlogon(gpadmin/gpadminPostgreSQL); OTLStream.open(1, select f1,f2 from test_tab, db); OTLStreamf1f2;,2020/8/12,
11、- 13,后台C语言开发GP与ORACLE双连接,动态导入数据,采用otl模板库 采用unixOdbc开源项目 定义#define OTL_ORA8I 和 #define OTL_ODBC_UNIX混合 #define OTL_ORA8I / Compile OTL 4.0/OCI8 #define OTL_ODBC_UNIX / uncomment this line if UnixODBC is used #include / include the OTL 4.0 header file oracle:otl_connect:otl_initialize(); / initialize
12、OCI environment odbc:otl_connect:otl_initialize(); / initialize ODBC environment odbc:otl_connect db1; / connect odbc oracle:otl_connect db2; / connect oracle db1.rlogon(gpadmin/gpadminPostgreSQL); odbc:otl_stream OTLStream(1, szSqlString, db1); OTLStreamf1f2; db2.rlogon(ods20/ods201234o10_34); orac
13、le:otl_stream o(1, insert into test_tab(f1,f2) values(:f1,:f2), db2 ); of1f2;,2020/8/12,- 14,后台MapReduce开发,MapReduce 是 Google公司为其开发人员创建的内部专有的运行引擎DeanGhemawat08。MapReduce的核心是一个非常简单的数据流编程模型,通过简单的用户编写代码段来传输数据项。Google的MapReduce程序由一个较大的数据文件开头,它分成彼此相邻的一些片段,这些片段称为“拆分单元(Split)”,每个拆分单元都通过用户自定义的解析代码转换成发送给一个Ma
14、p(映射)模块的“(键-数值)对”,该模块会为每个对提供一个用户给定的映射函数,从而生成一个新键和输出值列表。每个“(键、输出列表)对”都会传输到一个Reduce(化简)模块(可能位于另外一台机器上) ,由该模块将它们收集起来,按照键分组,然后调用一个用户提供的化简函数,为每个映射的(键、输出列表)对生成一个化简输出列表。映射和化简模块都利用并行分区机制来并行运行多个映射任务(以及多个化简任务)。,2020/8/12,- 15,后台MapReduce开发,%YAML 1.1 - VERSION: 1.0.0.1 DEFINE: - INPUT: NAME: samp GPFDIST: - 19
15、2.168.161.62:/samp.data - MAP: NAME: wordsplit_python FUNCTION: | i = 0 id = 0 c1 = null c2 = null c3 = null c4 = null words = value.split(,) for word in words: i = i + 1 if i5 : c4=word if i4 : c4=word elif i3 : c3=word,elif i2 : c2=word elif i1 : c1=word elif i0 : id=word yield (id, c1, c2, c3, c4) LANGUAGE: python OPTIMIZE: STRICT IMMUTABLE PARAMETERS: value text RETURNS: - id integer - c1 text - c2 text - c3 text - c4 text - OUTPUT: NAME: tab_m_o TABLE: m_o MODE: append EXECUTE: - RUN: SOUR
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026湖南航天医院招聘22人备考题库附答案详解ab卷
- 2026山西运城招聘公益性岗位人员的55人备考题库(二)附答案详解(达标题)
- 2026中国中检云南公司滇东片区河口分公司招聘1人备考题库含答案详解(基础题)
- 2026福建厦门大学信息学院王连生教授课题组科研助理招聘1人备考题库及答案详解(典优)
- 2026山东济宁学院招聘69人备考题库(博士-长期招聘)及答案详解1套
- 2026广东广州市狮捷企业管理咨询服务有限公司招聘2人备考题库附答案详解(预热题)
- 2025-2030中国预制菜行业消费趋势及投资可行性分析研究报告
- 单招金融专业知识点解析与练习题答案详解
- 2025年保密基本知识解析含答案
- 电子商务企业客服服务流程及技能培训
- AQ 3067-2026 《化工和危险化学品生产经营企业重大生产安全事故隐患判定准则》解读
- 2023年广西中烟招聘笔试参考题库附带答案详解
- 初中语文修改病句专题课件
- 夯实基础总结反思+课件 高三学习主题班会
- GB/T 6742-2007色漆和清漆弯曲试验(圆柱轴)
- 摩擦学原理第3章固体摩擦课件
- 建设工程竣工图的编制 课件
- 试验及调试检验批质量验收记录
- DB3307071-2018金华猪(金华两头乌猪)养殖技术规范
- 紫外线消毒设备使用维护手册
- 职位薪酬体系设计案例
评论
0/150
提交评论