pgloader 学习(六) 加载csv 数据
关于加载的配置参数都是使用comand file
command file 参考格式
LOAD CSV
FROM 'GeoLiteCity-Blocks.csv' WITH ENCODING iso-646-us
HAVING FIELDS
(
startIpNum, endIpNum, locId
)
INTO postgresql://user@localhost:54393/dbname
TARGET TABLE geolite.blocks
TARGET COLUMNS
(
iprange ip4r using (ip-range startIpNum endIpNum),
locId
)
WITH truncate,
skip header = 2,
fields optionally enclosed by '"',
fields escaped by backslash-quote,
fields terminated by '\t'
SET work_mem to '32 MB', maintenance_work_mem to '64 MB';
csv 源指南:FROM
指定文件名从何处加载数据,接受encoding 选项
文件名可以用单引号扩起来,可以是以下特殊值之一:
- inline 在解析命令结束后找到数据,在命令的结尾和数据的开头之间接受任意数量的空行
- 标准输入 从标准输入中读取数据
- filenames matching
匹配必须符合以前规则
[ ALL FILENAMES | [ FIRST ] FILENAME ]
MATCHING regexp
[ IN DIRECTORY '...' ]
fields 指南
该FROM选项还支持可选的逗号分隔的列表字段 描述什么是预计在名称CSV数据文件,通过可选的HAVING FIELDS
每个字段名只能是一个名称,也可以是后面带有该字段的特定读卡器选项的名称,用方括号括起来,每个字段读卡器
选项支持逗号分隔。
- terminated by
- 时间格式
支持的格式
- YYYY, YYY, YY for the year part
- MM for the numeric month part
- DD for the numeric day part
- HH, HH12, HH24 for the hour part
- am, AM, a.m., A.M.
- pm, PM, p.m., P.M.
- MI for the minutes part
- SS for the seconds part
- MS for the milliseconds part (4 digits)
- US for the microseconds part (6 digits)
- unparsed punctuation signs: - . * # @ T / and space
一个简单的demo
column-name [date format 'YYYY-MM-DD HH24-MI-SS.US']
- null if
此选项接受一个参数,该参数可以是关键字空格,或者是双引号字符串 - trim both whitespace, trim left whitespace, trim right whitespace
此选项允许从数据的两侧修建读取数据中的空白
csv 加载选项
- truncate
在加载数据之前先执行TRUNCATE - drop indexes
在拷贝数据之前先删除目标表的index,然后在数据加载完成之后进行create index - disable triggers
当此选项禁用pgloader 在数据加载之前先执行ALTER TABLE … DISABLE TRIGGER ALL,数据
加载完成之后执行ALTER TABLE … ENABLE TRIGGER ALL - skip header
一个数值,指示pgloader在输入文件的开头跳过多少行 - csv header
将跳过标题后读取的第一行做为字段名称列表 - trim unquoted blanks
在csv 文件中读取未加引号的值时,请删除分隔符和值之间的空白 - keep unquoted blanks
在读取未加引号的值时,在分隔符和值之间保留空白 - fields optionally enclosed by
将单个字符做为参数,必须在单引号内找到 - fields not enclosed
默认情况下,pgloader将使用双引号字符作为封闭字符。如果您有一个CSV文件,其中未包含字段并且使用双引号作为预期的普通字符,
则使用未包含在CSV解析器中的选项字段来接受这些值 - fields escaped by
采用特殊值反斜杠引用或双引号,或由选项终止的字段支持的任何值(见下文)。当在数据字段本身中找到转义字段分隔符时,
此值用于识别转义字段分隔符。默认为双引号。 - csv escape mode
采用特殊值引用(默认值)或后续值, 并允许CSV解析器在使用以下值时仅解析转义字段分隔符或任何字符(包括CSV数据 - fields terminated by
将单个字符作为参数,必须在单引号内找到,并且可以作为可打印字符本身给出,特殊值t表示制表字符,或者0x然后是十六进制值,
读取为字符的ASCII代码。读取CSV数据时, 此字符用作字段分隔符 - lines terminated by
将单个字符作为参数,必须在单引号内找到,并且可以作为可打印字符本身给出,特殊值t表示制表字符,或者0x然后是十六进制值,
读取为字符的ASCII代码。该字符用于在读取CSV数据时识别行尾条件
说明
csv 加载的控制选项还是很多的,也比较灵活
参考资料
https://pgloader.readthedocs.io/en/latest/ref/csv.html
pgloader 学习(六) 加载csv 数据的更多相关文章
- python加载csv数据
入门机器学习时,一些测试数据是网络上的csv文件.这里总结了两种加载csv文件的方式: 1 通过numpy.urllib2加载 import numpy as np import urllib2 ur ...
- ANTLR4加载csv数据
实现功能: 编写一个自定义的监听器,将逗号分隔符文件(csv)中的数据加载到一种数据结构--“由Map组成的List”中. antlr4文件: grammar CSV; file : hdr row+ ...
- Learning Spark中文版--第五章--加载保存数据(1)
开发工程师和数据科学家都会受益于本章的部分内容.工程师可能希望探索更多的输出格式,看看有没有一些适合他们下游用户的格式.数据科学家可能会更关注他们已经使用的数据格式. Motivation 我 ...
- ios网络学习------4 UIWebView的加载本地数据的三种方式
ios网络学习------4 UIWebView的加载本地数据的三种方式 分类: IOS2014-06-27 12:56 959人阅读 评论(0) 收藏 举报 UIWebView是IOS内置的浏览器, ...
- D3.js加载csv和json数据
1.加载数据的基本命令 D3提供了方法可以对不同的数据类型进行加载,比如d3.text(), d3.xml(), d3.json(), d3.csv(), 和d3.html(). <!DOCTY ...
- D3学习-加载本地数据
在加载本地数据时,弄了很久都无法显示出来,后来才知道是要把数据文件和html文件都加载到服务器上面 这样就可以显示出来了,
- Python爬虫爬取异步加载的数据
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:努力努力再努力 爬取qq音乐歌手数据接口数据 https://y.qq ...
- hive加载json数据解决方案
hive官方并不支持json格式的数据加载,默认支持csv格式文件加载,如何在不依赖外部jar包的情况下实现json数据格式解析,本编博客着重介绍此问题解决方案 首先创建元数据表: create EX ...
- cesium 学习(五) 加载场景模型
cesium 学习(五) 加载场景模型 一.前言 现在开始实际的看看效果,目前我所接触到基本上都是使用Cesium加载模型这个内容,以及在模型上进行操作.So,现在进行一些加载模型的学习,数据的话可以 ...
随机推荐
- Linux 头文件详解
概览: 头文件目录中总共有32个.h头文件.其中主目录下有13个,asm子目录中有4个,Linux子目录中有10个,sys子目录中有5个. <a.out.h>:a.out头文件,定义了a. ...
- git 学习笔记 --创建与合并分支
在版本回退里,你已经知道,每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支.截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支.HEAD严格来说不是指向提交,而 ...
- windows桌面远程连接突然不能双向复制文件
远程桌面连接windows 2008,突然无法在本地和服务器之间互相复制文件.根据微软的说明,由rdpclip.exe进程来控制,打开远程服务器的任务管理器,看到rdpclip.exe进程存在,即可进 ...
- Vert.x 异步访问数据库 MySQL
Vert.x提供异步访问数据库的API,数据库操作是一个耗时操作,使用传统的同步模型,容易阻塞线程,导致整体性能下降,因此我们对于数据库操作,需要使用Vert.x提供的异步API. Vert.x提供的 ...
- JavaScript数值类型保留显示小数方法
<script type="text/javascript"> //保留两位小数 //功能:将浮点数四舍五入,取小数点后2位 function toDecimal(x) ...
- 局域网电脑禁止ping通的解决方法
方法1:命令行模式进入服务器后 点击 开始——运行 输入命令:netsh firewall set icmpsetting 8这样就可以在外部ping到服务器了 非常简单实用!同样道理,如果想禁止Pi ...
- NIO开发Http服务器(5-完结):HttpServer服务器类
最近学习了Java NIO技术,觉得不能再去写一些Hello World的学习demo了,而且也不想再像学习IO时那样编写一个控制台(或者带界面)聊天室.我们是做WEB开发的,整天围着tomcat.n ...
- Java之路---Day03
2019-10-17-21:18:33 方法 定义格式: public static void 方法名称() { 方法体 } 完整格式: 修饰符 返回值类型 方法名称(参数类型 参数名称,... ...
- Python进阶(一)----函数
Python进阶(一)----函数初识 一丶函数的初识 什么函数: 函数是以功能为导向.一个函数封装一个功能 函数的优点: 1.减少代码的重复性, 2.增强了代码的可读性 二丶函数的结构 ...
- 【开发笔记】- 转义html特殊字符
package com.juihai.util; import org.apache.commons.lang.StringUtils; import org.springframework.web. ...