OushuDB-定义外部表

简介: OushuDB-定义外部表

可以使用下面的命令创建外部表。其中需要把etlhost-1替换为gpfdist所在机器的主机名。本机的可以使 用localhost。

可以直接查询该外部表:

gpfdist -d /data1/load-files -p 8081 -l /data1/log1
gpfdist -d /data2/load-files -p 8082 -l /data2/log2
john|2017-01-20|100.00|travel|nothing
tom|2016-12-01|300|taxi|nothing
marry|2017-01-21|1000.00|travel|nothing
kurt|2016-12-02|800|taxi|nothing
CREATE EXTERNAL TABLE ext_expenses
    ( name text, date date, amount float4, category text, desc1 text )
LOCATION ('gpfdist://etlhost-1:8081/', 'gpfdist://etlhost-1:8082/')
FORMAT 'TEXT' (DELIMITER '|');
etl=# select * from ext_expenses;


name date amount category desc1
john 2017-01-20 100 travel nothing
tom 2016-12-01
marry 2017-01-21
kurt 2016-12-02
300 taxi
1000 travel
800 taxi
nothing
nothing
nothing



(4 rows)

有些时候,输入的text/csv文件有一些格式错误,默认情况下,出现错误时,整个加载会失败。如果数据 量很大的话,修正错误再重新加载会浪费很多时间。如果错误可以接受的话,我们可以通过定义error table的方法隔离错误的行,把错误的行放到一个单独的error table中,而正常加载所有的正确行。下面 是一个例子。

上面那条语句指定了error table为expense_errortable,系统会自动创建该表。SEGMENT REJECT LIMIT指的是如果有超过10行的错误,加载将报错退出。

如果一个CSV文件包含错误的格式,error table的rawdata列可能包含几个合并的错误行。例如,如果一 个text列的值少了一个结束的引号,后面的行(包含换行符)将会被当作那个列的值处理。当这种情况 发生时,并且该值超过64K大小时,OushuDB会把64K大小的值放入error table中做为一个单独的行, 继续处理后面的行。如果这种情况发生多次,加载会失败,OushuDB会报“rejected N or more rows”错 退出。

目录
相关文章
|
9月前
|
SQL 分布式计算 关系型数据库
实时数仓 Hologres产品使用合集之分区表创建冷热分层后,查询语法会与原先有区别吗
实时数仓Hologres的基本概念和特点:1.一站式实时数仓引擎:Hologres集成了数据仓库、在线分析处理(OLAP)和在线服务(Serving)能力于一体,适合实时数据分析和决策支持场景。2.兼容PostgreSQL协议:Hologres支持标准SQL(兼容PostgreSQL协议和语法),使得迁移和集成变得简单。3.海量数据处理能力:能够处理PB级数据的多维分析和即席查询,支持高并发低延迟查询。4.实时性:支持数据的实时写入、实时更新和实时分析,满足对数据新鲜度要求高的业务场景。5.与大数据生态集成:与MaxCompute、Flink、DataWorks等阿里云产品深度融合,提供离在线
|
4月前
|
SQL 存储 关系型数据库
【赵渝强老师】Hive的内部表与外部表
Hive是基于HDFS的数据仓库,支持SQL查询。其数据模型包括内部表、外部表、分区表、临时表和桶表。本文介绍了如何创建和使用内部表和外部表,提供了详细的步骤和示例代码,并附有视频讲解。
232 1
|
8月前
|
机器学习/深度学习 分布式计算 DataWorks
MaxCompute产品使用合集之如何将数据映射成Holo表的语句
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
10月前
|
存储 分布式计算 大数据
大数据计算MaxComputerds外部表是不是不能创建分区的?
大数据计算MaxComputerds外部表是不是不能创建分区的?
89 2
|
7月前
|
运维 分布式计算 DataWorks
DataWorks产品使用合集之新建表后如何进行多级映射
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
9月前
|
机器学习/深度学习 分布式计算 DataWorks
MaxCompute产品使用合集之如何对分区表进行合并小文件操作
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
SQL 存储 安全
Hive 内部表(管理表)和外部表的区别【重点】
Hive 内部表(管理表)和外部表的区别【重点】
906 1
|
存储 SQL 分布式计算
存储与计算分离:OSS构建表 + 计算引擎对接
看到标题,可能有用户要问:OSS不是用来存图片、视频、及文件的吗,还可以在上面建表、数仓?计算效率和经济性表现怎么样? 本文先给出基本结论: OSS是什么? 对象存储(Object Storage Service,简称OSS)是基于阿里云飞天分布式系统的海量、安全和高可靠的云存储服务,是一种面向互联网的大规模、通用存储,提供RESTful API,具备容量和处理的弹性扩展能力。
16499 0
OushuDB-定义外部表
OushuDB-定义外部表
79 0
|
SQL HIVE 数据格式
OushuDB 创建和管理外部表(中)
OushuDB 创建和管理外部表(中)
88 0