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

    xiaoxiao2026-05-02  10

              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窗口

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

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

     参数介绍

      -p 打开的端口 2345

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

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

    会提示  

    [SC] CreateService 成功

    2.2 手动去启动服务  右键 启动  <图片粘贴不进来>

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

      

      

      2.2.2 找到gpfdist 右键 启动服务

    到这里服务创建完毕

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

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

    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地址

    create external table test_load{ id int, name text}LOCATION('gpfdist://192.188.100.236:2345/test_utf8.csv')FORMAT 'csv' (DELIMITER ',');

    二、建表

      

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

    三 导入数据

    insert into test select * from test_load;

    相关资源:python入门教程(PDF版)
    最新回复(0)