数据加载过程一直报错:
-f my.yml
2017-04-25 16:22:18|INFO|会话开始于2017-04-25 16:22:18
2017-04-25 16:22:18|INFO|为表'test'设置模式'public'
2017-04-25 16:22:18|INFO|启动 gpfdist -p 8000 -P 8001 -f "/home/gpadmin/extend/test2." -t 30
2017-04-25 16:22:18 ||发生gpload控制文件处理错误。配置必须包含 gpload:input:quotefor csv 格式的数据
2017-04-25 16:22:18|INFO|插入的行数 = 0
2017-04-25 16:22:18|INFO|更新的行数 = 0
2017 -04-25 16:22:18|信息|数据格式错误 = 0
2017-04-25 16:22:18|信息|失败了
my.yml内容:
雷雷test2.内容:
6|102900928|product_conume|4290000100005|0
7|102900929|product_conume|3260000100006|0
的deug模式:
2017-04-25 16:28:30|DEBUG|获取版本配置
2017-04-25 16:28:30|DEBUG|尝试版本
2017-04-25 16:28:30 |DEBUG|找到版本
2017-04-25 16:28:30|INFO|会话开始于 2017-04-25 16:28:30
2017-04-25 16:28:30|DEBUG|config {u'database': u'ljlj-test', u'host': u'mdw', u'版本':u'1.0.0.1',u'用户':u'gpadmin',u'':{u'输入':[{u'源':{u'本地主机名':[u'mdw' ], u'port': 8000, u'': [u'/home/gpadmin/extend/test2.']}}, {u'columns': [{u'id': u'int'}, { u'pact_number': u'varchar(50)'}, {u'grant_type': u'varchar(50)'}, {u'ticket_usecode': u'varchar(100)'}, {u'pact_id': u'int'}]}, {u'format': u''}, {u'delimiter': u'|'}, {u'error_limit': 25}, {u'error_table': u'test_err' }], u'输出': [{u'table': u'test'}, {u'mode': u'INSERT'}]}, u'port': 5432}
2017-04-25 16:28:30|DEBUG|获取配置:输出
2017-04-25 16:28:30|DEBUG|尝试
2017-04-25 16:28:30|DEBUG|找到
2017-04-25 16:28:30|DEBUG|尝试输出
2017-04-25 16:28:30|DEBUG|找到输出
2017-04-25 16:28:30|DEBUG|获取 :output 的配置:table
2017-04-25 16:28:30|DEBUG|尝试
2017-04-25 16:28:30|DEBUG|找到
2017-04-25 16:28:30|DEBUG|尝试输出
2017 -04-25 16:28:30|DEBUG|找到输出
2017-04-25 16:28:30|DEBUG|尝试表
2017-04-25 16:28:30|DEBUG|找到表
2017-04 -25 16:28:30|DEBUG|获取主机配置
2017-04-25 16:28:30|DEBUG|尝试主机
2017-04-25 16:28:30|DEBUG|找到主机
2017-04 -25 16:28:30|DEBUG|获取端口配置
2017-04-25 16:28:30|DEBUG|尝试端口
2017-04-25 16:28:30|DEBUG|找到端口
2017-04 -25 16:28:30|DEBUG|获取用户配置
2017-04-25 16:28:30|DEBUG|尝试用户
2017-04-25 16:28:30|DEBUG|找到用户
2017-04 -25 16:28:30|DEBUG|获取数据库配置
2017-04-25 16:28:30|DEBUG|尝试数据库
2017-04-25 16:28:30|DEBUG|找到数据库
2017-04 -25 16:28:30|DEBUG|获取密码配置
2017-04-25 16:28:30|DEBUG|尝试密码
2017-04-25 16:28:30|DEBUG|连接字符串:user=gpadmin host=mdw port=5432 database=ljlj-test
2017-04-25 16:28:30|DEBUG|成功连接数据库
2017-04-25 16:28:30|INFO|为表设置 schema 'public' 'test'
2017-04-25 16:28:30|DEBUG|找到输入列:[u'"id"', u'integer', None, False]
2017-04-25 16:28:30| DEBUG|找到的输入列:[u'"pact_number"', u'character Varying(50)', None, False]
2017-04-25 16:28:30|DEBUG|找到的输入列:[u'"grant_type "', u'字符变化(50)', 无, False]
2017-04-25 16:28:30|DEBUG|找到输入列: [u'"ticket_usecode"', u'字符变化(100)' , None, False]
2017-04-25 16:28:30|DEBUG|找到输入列: [u'"pact_id"', u'integer', None, False]
2017-04-25 16:28: 30|DEBUG|获取 :input:columns 的配置
2017-04-25 16:28:30|DEBUG|尝试
2017-04-25 16:28:30|DEBUG|找到
2017-04-25 16:28 :30|DEBUG|尝试输入
2017-04-25 16:28:30|DEBUG|找到输入
2017-04-25 16:28:30|DEBUG|尝试列
2017-04-25 16:28:30 |DEBUG|找到列
2017-04-25 16:28:30|DEBUG|来自列是:
2017-04-25 16:28:30|DEBUG|id: int
2017-04-25 16:28: 30|DEBUG|pact_number: varchar(50)
2017-04-25 16:28:30|DEBUG|grant_type: varchar(50)
2017-04-25 16:28:30|DEBUG|ticket_usecode: varchar(100)
2017-04-25 16:28:30|DEBUG|pact_id: int
2017-04-25 16:28:30|DEBUG|获取 :output:mapping 的配置
2017-04-25 16:28:30|调试|尝试
2017-04-25 16:28:30|调试|找到
2017-04-25 16:28:30|调试|尝试输出
2017-04-25 16:28:30|调试|找到输出
2017-04-25 16:28:30|DEBUG|尝试映射
2017-04-25 16:28:30|DEBUG|"id": integer = "id"
2017-04-25 16:28:30 |DEBUG|"pact_number": 字符变化(50) = "pact_number"
2017-04-25 16:28:30|DEBUG|"grant_type": 字符变化(50) = "grant_type"
2017-04-25 16:28:30|DEBUG|"ticket_usecode": 字符变化(100) = "ticket_usecode"
2017-04-25 16:28:30|DEBUG|"pact_id": 整数 = "pact_id"
2017-04-25 16:28:30|调试|获取配置:输入
2017-04-25 16:28:30|调试|尝试
2017-04-25 16:28:30|调试|找到
2017 -04-25 16:28:30|DEBUG|尝试输入
2017-04-25 16:28:30|DEBUG|找到输入
2017-04-25 16:28:30|DEBUG|获取 :input 的配置:来源(1)
2017-04-25 16:28:30|DEBUG|尝试
2017-04-25 16:28:30|DEBUG|找到
2017-04-25 16:28:30|DEBUG|尝试输入
2017-04-25 16:28:30|DEBUG|找到输入
2017-04-25 16:28:30|DEBUG|尝试源(1)
2017-04-25 16:28:30|DEBUG|找到来源
2017-04-25 16:28:30|DEBUG|获取配置 :input:source(1):local_hostname
2017-04-25 16:28:30|DEBUG|尝试
2017-04-25 16: 28:30|DEBUG|找到
2017-04-25 16:28:30|DEBUG|尝试输入
2017-04-25 16:28:30|DEBUG|找到输入
2017-04-25 16:28:30 |DEBUG|尝试源码(1)
2017-04-25 16:28:30|DEBUG|找到源码
2017-04-25 16:28:30|DEBUG|尝试local_hostname
2017-04-25 16:28: 30|DEBUG|找到 local_hostname
2017-04-25 16:28:30|DEBUG|获取 :input:source:ssl 的配置
2017-04-25 16:28:30|DEBUG|尝试
2017-04-25 16:28:30|DEBUG|找到
2017-04-25 16:28:30|DEBUG|尝试输入
2017-04-25 16:28:30|DEBUG|找到输入
2017-04-25 16:28 :30|DEBUG|尝试源码
2017-04-25 16:28:30|DEBUG|找到源码
2017-04-25 16:28:30|DEBUG|尝试ssl
2017-04-25 16:28:30 |DEBUG|获取 :input:source:certificates_path 的配置
2017-04-25 16:28:30|DEBUG|尝试
2017-04-25 16:28:30|DEBUG|发现
2017-04-25 16: 28:30|DEBUG|尝试输入
2017-04-25 16:28:30|DEBUG|找到输入
2017-04-25 16:28:30|DEBUG|尝试源
2017-04-25 16:28: 30|DEBUG|找到源
2017-04-25 16:28:30|DEBUG|尝试certificates_path
2017-04-25 16:28:30|DEBUG|获取配置:input:source(1):port
2017 -04-25 16:28:30|DEBUG|尝试
2017-04-25 16:28:30|DEBUG|找到
2017-04-25 16:28:30|DEBUG|尝试输入
2017-04-25 16:28:30|DEBUG|找到输入
2017-04-25 16:28:30|DEBUG|尝试源码(1)
2017-04-25 16:28:30|DEBUG|找到源码
2017-04- 25 16:28:30|DEBUG|尝试端口
2017-04-25 16:28:30|DEBUG|找到端口
2017-04-25 16:28:30|DEBUG|获取 :input:source(1 的配置):port_range
2017-04-25 16:28:30|DEBUG|尝试
2017-04-25 16:28:30|DEBUG|找到
2017-04-25 16:28:30|DEBUG|尝试输入
2017-04-25 16:28:30|DEBUG|找到输入
2017-04-25 16:28:30|DEBUG|尝试源(1)
2017-04-25 16:28:30|DEBUG|找到源
2017-04-25 16:28:30|DEBUG|尝试 port_range
2017-04-25 16:28:30|DEBUG|获取 :input:source(1):
2017-04-25 16:28 的配置:30|DEBUG|尝试
2017-04-25 16:28:30|DEBUG|找到
2017-04-25 16:28:30|DEBUG|尝试输入
2017-04-25 16:28:30|DEBUG |找到输入
2017-04-25 16:28:30|DEBUG|尝试源码(1)
2017-04-25 16:28:30|DEBUG|找到源码
2017-04-25 16:28:30|调试|尝试
2017-04-25 16:28:30|调试|发现
2017-04-25 16:28:30|DEBUG|获取配置:input:max_line_length
2017-04-25 16:28:30|DEBUG|尝试
2017-04-25 16:28:30|DEBUG|找到
2017-04-25 16:28:30|DEBUG|尝试输入
2017-04-25 16:28:30|DEBUG|找到输入
2017-04-25 16:28:30|DEBUG|尝试max_line_length
2017 -04-25 16:28:30|DEBUG|获取 :input:transform 的配置
2017-04-25 16:28:30|DEBUG|尝试
2017-04-25 16:28:30|DEBUG|找到
2017-04-25 16:28:30|DEBUG|尝试输入
2017-04-25 16:28:30|DEBUG|找到输入
2017-04-25 16:28:30|DEBUG|尝试转换
2017- 04-25 16:28:30|DEBUG|获取配置:input:transform_config
2017-04-25 16:28:30|DEBUG|尝试
2017-04-25 16:28:30|DEBUG|找到
2017 -04-25 16:28:30|DEBUG|尝试输入
2017-04-25 16:28:30|DEBUG|找到输入
2017-04-25 16:28:30|DEBUG|尝试transform_config
2017-04 -25 16:28:30|LOG|尝试运行 gpfdist -p 8000 -P 8001 -f "/home/gpadmin/extend/test2." -t 30 -V
2017-04-25 16:28:30|LOG|gpfdist 说:2017-04-25 16:28:30 11767 INFO 在打开监听套接字之前 - 以下监听套接字可用:
2017-04- 25 16:28:30|DEBUG|gpfdist: [msg] libevent 使用: epoll
2017-04-25 16:28:30|LOG|gpfdist 说: 2017-04-25 16:28:30 11767 INFO IPV6 套接字: [::]:8000
2017-04-25 16:28:30|调试|gpfdist:
2017-04-25 16:28:30|日志|gpfdist 说:2017-04-25 16:28:30 11767 INFO IPV4套接字:0.0.0.0:8000
2017-04-25 16:28:30|LOG|gpfdist 说:2017-04-25 16:28:30 11767 INFO 尝试打开监听套接字:
2017-04-25 16:28:30|LOG|gpfdist 说:2017-04-25 16:28:30 11767 信息 IPV6 套接字:[::]:8000
2017-04-25 16:28:30|LOG|gpfdist 说:2017 -04-25 16:28:30 11767 WARN 地址已在使用中(errno = 98),端口:8000
2017-04-25 16:28:30|LOG|gpfdist 说:2017-04-25 16:28: 30 11767 INFO 尝试打开监听套接字:
2017-04-25 16:28:30|LOG|gpfdist 说:2017-04-25 16:28:30 11767 INFO IPV4 套接字:0.0.0.0:8000
2017-04 -25 16:28:30|LOG|gpfdist 说:2017-04-25 16:28:30 11767 WARN 地址已在使用中(errno = 98),端口:8000
2017-04-25 16:28:30| LOG|gpfdist 说:
2017-04-25 16:28:30|LOG|gpfdist 说:2017-04-25 16:28:30 11767 INFO 在打开监听套接字之前 - 以下监听套接字可用:
2017-04- 25 16:28:30|LOG|gpfdist 说: 2017-04-25 16:28:30 11767 INFO IPV6 套接字: [::]:8001
2017-04-25 16:28:30|LOG|gpfdist 说: 2017-04-25 16:28:30 11767 INFO IPV4套接字:0.0.0.0:8001
2017-04-25 16:28:30|LOG|gpfdist 说:2017-04-25 16:28:30 11767 INFO 尝试打开监听套接字:
2017-04-25 16:28:30|LOG|gpfdist 说:2017-04-25 16:28:30 11767 INFO IPV6 套接字:[::]:8001
2017-04-25 16 :28:30|LOG|gpfdist 说:2017-04-25 16:28:30 11767 INFO 打开监听套接字成功
2017-04-25 16:28:30|LOG|gpfdist 说:2017-04-25 16: 28:30 11767 INFO 尝试打开监听套接字:
2017-04-25 16:28:30|LOG|gpfdist 说:2017-04-25 16:28:30 11767 INFO IPV4 套接字:0.0.0.0:8001
2017-04-25 16:28:30|LOG|gpfdist 说:2017-04-25 16:28:30 11767 WARN 地址已在使用中(errno = 98),端口:8001
2017-04-25 16:28 :30|LOG|gpfdist 说:在端口 8001、目录 /home/gpadmin/extend 上提供 HTTP 服务
2017-04-25 16:28:30|INFO|启动 gpfdist -p 8000 -P 8001 -f "/home/gpadmin /扩展/测试2。” -t 30 -V
2017-04-25 16:28:30|LOG|gpfdist 正在端口 8001 上运行
2017-04-25 16:28:30|DEBUG|获取 :input:source:ssl
2017 的配置-04-25 16:28:30|DEBUG|尝试
2017-04-25 16:28:30|DEBUG|找到
2017-04-25 16:28:30|DEBUG|尝试输入
2017-04-25 16:28:30|DEBUG|找到输入
2017-04-25 16:28:30|DEBUG|尝试源码
2017-04-25 16:28:30|DEBUG|找到源码
2017-04-25 16: 28:30|调试|尝试 ssl
2017-04-25 16:28:30|调试|获取 :input:source(2) 的配置
2017-04-25 16:28:30|调试|尝试
2017- 04-25 16:28:30|DEBUG|找到
2017-04-25 16:28:30|DEBUG|尝试输入
2017-04-25 16:28:30|DEBUG|找到输入
2017-04-25 16:28:30|调试|尝试源(2)
2017-04-25 16:28:30|调试|获取配置:preload
2017-04-25 16:28:30|调试|尝试
2017- 04-25 16:28:30|DEBUG|找到
2017-04-25 16:28:30|DEBUG|尝试预加载
2017-04-25 16:28:30|DEBUG|获取 :output:mode 的配置
2017-04-25 16:28:30|调试|尝试
2017-04-25 16:28:30|调试|找到
2017-04-25 16:28:30|调试|尝试输出
2017-04- 25 16:28:30|DEBUG|找到输出
2017-04-25 16:28:30|DEBUG|尝试模式
2017-04-25 16:28:30|DEBUG|找到模式
2017-04-25 16 :28:30|DEBUG|获取 :input:error_table 的配置
2017-04-25 16:28:30|DEBUG|尝试
2017-04-25 16:28:30|DEBUG|找到
2017-04-25 16:28:30|DEBUG|尝试输入
2017-04-25 16:28:30|DEBUG|找到输入
2017-04-25 16:28:30|DEBUG|尝试error_table
2017-04-25 16: 28:30|DEBUG|找到 error_table
2017-04-25 16:28:30|DEBUG|获取 :input:log_errors 的配置
2017-04-25 16:28:30|DEBUG|尝试
2017-04-25 16:28:30|DEBUG|找到
2017-04-25 16:28:30|DEBUG|尝试输入
2017-04-25 16:28:30|DEBUG|找到输入
2017-04-25 16:28 :30|DEBUG|尝试 log_errors
2017-04-25 16:28:30|DEBUG|获取 :sql 的配置
2017-04-25 16:28:30|DEBUG|尝试
2017-04-25 16:28 :30|DEBUG|找到
2017-04-25 16:28:30|DEBUG|尝试 sql
2017-04-25 16:28:30|DEBUG|获取 :input:format 的配置
2017-04-25 16 :28:30|DEBUG|尝试
2017-04-25 16:28:30|DEBUG|找到
2017-04-25 16:28:30|DEBUG|尝试输入
2017-04-25 16:28:30 |DEBUG|找到输入
2017-04-25 16:28:30|DEBUG|尝试格式
2017-04-25 16:28:30|DEBUG|找到格式
2017-04-25 16:28:30|DEBUG |正在获取 :input:delimiter 的配置
2017-04-25 16:28:30|DEBUG|尝试
2017-04-25 16:28:30|DEBUG|找到
2017-04-25 16:28:30| DEBUG|正在尝试输入
2017-04-25 16:28:30|DEBUG|找到输入
2017-04-25 16:28:30|DEBUG|正在尝试分隔符
2017-04-25 16:28:30|DEBUG|找到分隔符
2017-04-25 16:28:30|DEBUG|正在获取配置:输入:分隔符
2017-04-25 16:28:30|DEBUG|尝试
2017-04-25 16:28:30|调试|发现
2017-04-25 16:28:30|DEBUG|尝试输入
2017-04-25 16:28:30|DEBUG|找到输入
2017-04-25 16:28:30|DEBUG|尝试分隔符
2017- 04-25 16:28:30|DEBUG|找到分隔符
2017-04-25 16:28:30|DEBUG|获取 :input:null_as 的配置
2017-04-25 16:28:30|DEBUG|尝试
2017-04-25 16:28:30|DEBUG|找到
2017-04-25 16:28:30|DEBUG|尝试输入
2017-04-25 16:28:30|DEBUG|找到输入
2017-04 -25 16:28:30|DEBUG|尝试 null_as
2017-04-25 16:28:30|DEBUG|null False
2017-04-25 16:28:30|DEBUG|获取 :input:escape 的配置2017-04-25 16:28:30|DEBUG|尝试
2017-04-25 16:28:30|DEBUG|找到
2017-04-25 16:28:30|DEBUG|尝试输入
2017-04- 25 16:28:30|DEBUG|找到输入
2017-04-25 16:28:30|DEBUG|尝试逃脱
2017-04-25 16:28:30|DEBUG|获取 :input:quote 的配置
2017 -04-25 16:28:30|DEBUG|尝试
2017-04-25 16:28:30|DEBUG|找到
2017-04-25 16:28:30|DEBUG|尝试输入
2017-04-25 16:28:30|DEBUG|找到输入
2017-04-25 16:28:30|DEBUG|尝试报价
2017-04-25 16:28:30||A
2017-04-25 16:28: 30|LOG|杀死 gpfdist
2017-04-25 16:28:30|DEBUG|gpfdist:2017-04-25 16:28:30 11767 收到警告信号 15。 gpfdist 退出
2017-04-25 16:28:30|DEBUG|gpfdist: 2017-04-25 16:28:30 11767 INFO -------------------- -------------------
2017-04-25 16:28:30|调试|gpfdist:2017-04-25 16:28:30 11767 信息状态:总计会话 0
2017-04-25 16:28:30|DEBUG|gpfdist: 会话: [
2017-04-25 16:28:30|DEBUG|gpfdist: ]
2017-04-25 16:28 :30|调试|gpfdist: 2017-04-25 16:28:30 11767 信息 ------------------------------------------ --------
2017-04-25 16:28:30|INFO|插入行数 = 0
2017-04-25 16:28:30|INFO|更新行数 = 0
2017-04-25 16:28:30|信息|格式错误 = 0
2017-04-25 16:28:30|INFO|失败了
求大神解释下,
雷雷
PHPz2017-05-16 13:21:17
需要注意两点:
1.gpfdist没有必要手动启动,在执行gpload的时候会自动启动gpfdist,还有在yml中之配置了一个8000的端口,但是在执行的时候会出现8001端口(命令执行完毕后,gpfdist会自动杀死)
2.yml中缺少对quote的设置: - QUOTE: ''''
以上两点就可以解决上面的问题.