windows server 下使用gpfdist 并行导入数据到 greenplum集群

          windows server 使用gpfdist教程 

linux 下请参考 linux gpfdist


由于工作需要, 需要将在SQL server 上的数据迁移到Greenplum集群 所以 采取并行导入CSV的工具gpfdist 实现并行导入数据


一、部署安装环境

  首相去官网下载gpload.exe 点击安装  安装路径要记住 

  我的安装路径是D: 盘 gpfdist.exe在 D:\bin\


二、启动windows 服务

2.1 命令行创建服务 win+R 输入 cmd 进入dos窗口

创建服务  这个服务是需要手动启动的   



  1. sc create gpfdist binpath="D:\bin\gpfdist.exe -p 2345 -d D:\data -l D:\load_log"

 参数介绍

  -p 打开的端口 2345

  -d 将要扫描的CSV文件存放路径 

  -l 导入数据的日志文件存放路径  


会提示  



  1. [SC] CreateService 成功


2.2 手动去启动服务  右键 启动  <图片粘贴不进来windows server 下使用gpfdist 并行导入数据到 greenplum集群>


  2.2.1 打开任务管理器 选择服务 选择底下的 打开服务

  

  

  2.2.2 找到gpfdist 右键 启动服务


到这里服务创建完毕

如果想重新创建新的服务 要先停着这个运行的 gpfdist 服务

然后 在dos 下 执行 即删除服务


  1. sc delete gpfdist

注意事项:

1. 所导入的CSV文件使用的编码格式必须是utf-8 而windows server 存储的格式是 utf-16

  去百度下载一个iconv.exe

  dos下执行如下命令

  iconv -f utf-16 -t utf-8 filename.csv > filename_utf8.csv 

  等一段时间 就ok了

2.确定CSV文件的分隔符 我这里默认是 "," 


------------------------------分割线---------------------------------------------------------------------------------

接下来在greenplum的master节点进行设置

一、 创建外部表  

IP 地址 192.188.100.236 是windows server的IP地址


  1. create external table test_load
  2. {
  3. id int,
  4. name text
  5. }
  6. LOCATION('gpfdist://192.188.100.236:2345/test_utf8.csv')
  7. FORMAT 'csv' (DELIMITER ',');

二、建表

  


  1. create external table test
  2. {
  3. id int,
  4. name text
  5. }
  6. with(OIDS=FALSE) --可以添加多个自己需要的表特性
  7. distributed Randomly; --随机分布


三 导入数据


  1. insert into test select * from test_load;



上一篇:智能分单算法


下一篇:silverlight中用代码动态控制Storyboard(动画)属性的三种方法