计算
弹性云服务器 ECS
Flexus云服务
裸金属服务器 BMS
弹性伸缩 AS
镜像服务 IMS
专属主机 DeH
函数工作流 FunctionGraph
云手机服务器 CPH
Huawei Cloud EulerOS
网络
虚拟私有云 VPC
弹性公网IP EIP
虚拟专用网络 VPN
弹性负载均衡 ELB
NAT网关 NAT
云专线 DC
VPC终端节点 VPCEP
云连接 CC
企业路由器 ER
企业交换机 ESW
全球加速 GA
安全与合规
安全技术与应用
Web应用防火墙 WAF
企业主机安全 HSS
云防火墙 CFW
安全云脑 SecMaster
DDoS防护 AAD
数据加密服务 DEW
数据库安全服务 DBSS
云堡垒机 CBH
数据安全中心 DSC
云证书管理服务 CCM
边缘安全 EdgeSec
威胁检测服务 MTD
CDN与智能边缘
内容分发网络 CDN
CloudPond云服务
智能边缘云 IEC
迁移
主机迁移服务 SMS
对象存储迁移服务 OMS
云数据迁移 CDM
迁移中心 MGC
大数据
MapReduce服务 MRS
数据湖探索 DLI
表格存储服务 CloudTable
云搜索服务 CSS
数据接入服务 DIS
数据仓库服务 GaussDB(DWS)
数据治理中心 DataArts Studio
数据可视化 DLV
数据湖工厂 DLF
湖仓构建 LakeFormation
企业应用
云桌面 Workspace
应用与数据集成平台 ROMA Connect
云解析服务 DNS
专属云
专属计算集群 DCC
IoT物联网
IoT物联网
设备接入 IoTDA
智能边缘平台 IEF
用户服务
账号中心
费用中心
成本中心
资源中心
企业管理
工单管理
国际站常见问题
ICP备案
我的凭证
支持计划
客户运营能力
合作伙伴支持计划
专业服务
区块链
区块链服务 BCS
Web3节点引擎服务 NES
解决方案
SAP
高性能计算 HPC
视频
视频直播 Live
视频点播 VOD
媒体处理 MPC
实时音视频 SparkRTC
数字内容生产线 MetaStudio
存储
对象存储服务 OBS
云硬盘 EVS
云备份 CBR
存储容灾服务 SDRS
高性能弹性文件服务 SFS Turbo
弹性文件服务 SFS
云硬盘备份 VBS
云服务器备份 CSBS
数据快递服务 DES
专属分布式存储服务 DSS
容器
云容器引擎 CCE
容器镜像服务 SWR
应用服务网格 ASM
华为云UCS
云容器实例 CCI
管理与监管
云监控服务 CES
统一身份认证服务 IAM
资源编排服务 RFS
云审计服务 CTS
标签管理服务 TMS
云日志服务 LTS
配置审计 Config
资源访问管理 RAM
消息通知服务 SMN
应用运维管理 AOM
应用性能管理 APM
组织 Organizations
优化顾问 OA
IAM 身份中心
云运维中心 COC
资源治理中心 RGC
应用身份管理服务 OneAccess
数据库
云数据库 RDS
文档数据库服务 DDS
数据管理服务 DAS
数据复制服务 DRS
云数据库 GeminiDB
云数据库 GaussDB
分布式数据库中间件 DDM
数据库和应用迁移 UGO
云数据库 TaurusDB
人工智能
人脸识别服务 FRS
图引擎服务 GES
图像识别 Image
内容审核 Moderation
文字识别 OCR
AI开发平台ModelArts
图像搜索 ImageSearch
对话机器人服务 CBS
华为HiLens
视频智能分析服务 VIAS
语音交互服务 SIS
应用中间件
分布式缓存服务 DCS
API网关 APIG
微服务引擎 CSE
分布式消息服务Kafka版
分布式消息服务RabbitMQ版
分布式消息服务RocketMQ版
多活高可用服务 MAS
事件网格 EG
企业协同
华为云会议 Meeting
云通信
消息&短信 MSGSMS
云生态
合作伙伴中心
云商店
开发者工具
SDK开发指南
API签名指南
Terraform
华为云命令行工具服务 KooCLI
其他
产品价格详情
系统权限
管理控制台
客户关联华为云合作伙伴须知
消息中心
公共问题
开发与运维
应用管理与运维平台 ServiceStage
软件开发生产线 CodeArts
需求管理 CodeArts Req
部署 CodeArts Deploy
性能测试 CodeArts PerfTest
编译构建 CodeArts Build
流水线 CodeArts Pipeline
制品仓库 CodeArts Artifact
测试计划 CodeArts TestPlan
代码检查 CodeArts Check
代码托管 CodeArts Repo
云应用引擎 CAE
开天aPaaS
云消息服务 KooMessage
云手机服务 KooPhone
云空间服务 KooDrive

LOAD DATA

更新时间:2023-03-17 GMT+08:00

命令功能

LOAD DATA命令以CarbonData特定的数据存储类型加载原始的用户数据,这样,CarbonData可以在查询数据时提供良好的性能。

说明:

仅支持加载位于HDFS上的原始数据。

命令格式

LOAD DATA INPATH 'folder_path' INTO TABLE [db_name.]table_name OPTIONS(property_name=property_value, ...);

参数描述

表1 LOAD DATA参数描述

参数

描述

folder_path

原始CSV数据文件夹或者文件的路径。

db_name

Database名称。若未指定,则使用当前database。

table_name

所提供的database中的表的名称。

注意事项

以下是可以在加载数据时使用的配置选项:

  • DELIMITER:可以在加载命令中提供分隔符和引号字符。默认值为,

    OPTIONS('DELIMITER'=',' , 'QUOTECHAR'='"')

    可使用'DELIMITER'='\t'来表示用制表符tab对CSV数据进行分隔。

    OPTIONS('DELIMITER'='\t')

    CarbonData也支持\001和\017作为分隔符。

    说明:

    对于CSV数据,分隔符为单引号(')时,单引号必须在双引号(" ")内。例如:'DELIMITER'= "'"。

  • QUOTECHAR:可以在加载命令中提供分隔符和引号字符。默认值为"

    OPTIONS('DELIMITER'=',' , 'QUOTECHAR'='"')

  • COMMENTCHAR:可以在加载命令中提供注释字符。在加载操作期间,如果在行的开头遇到注释字符,那么该行将被视为注释,并且不会被加载。默认值为#。

    OPTIONS('COMMENTCHAR'='#')

  • FILEHEADER:如果源文件中没有表头,可在LOAD DATA命令中提供表头。

    OPTIONS('FILEHEADER'='column1,column2')

  • ESCAPECHAR:如果用户想在CSV上对Escape字符进行严格验证,可以提供Escape字符。默认值为\

    OPTIONS('ESCAPECHAR'='\')

    说明:

    如果在CSV数据中输入ESCAPECHAR,该ESCAPECHAR必须在双引号(" ")内。例如:"a\b"。

  • Bad Records处理:

    为了使数据处理应用程序为用户增值,不可避免地需要对数据进行某种程度的集成。在大多数情况下,数据质量问题源于生成源数据的上游(主要)系统。

    有两种完全不同的方式处理Bad Data:

    • 按照数据原本的样子加载所有数据,之后进行除错处理。
    • 在进入数据源的过程中,可以清理或擦除Bad Data,或者在发现Bad Data时让数据加载失败。

    有多个选项可用于在CarbonData数据加载过程中清除源数据。对于CarbonData数据中的Bad Records管理,请参见表2

    表2 Bad Records Logger

    配置项

    默认值

    描述

    BAD_RECORDS_LOGGER_ENABLE

    false

    若设置为true,则将创建Bad Records日志文件,其中包含Bad Records的详细信息。

    BAD_RECORDS_ACTION

    FAIL

    以下为Bad Records的四种操作类型:

    • FORCE:通过将Bad Records存储为NULL来自动校正数据。
    • REDIRECT:无法加载Bad Records,并将其写入原始CSV文件。
    • IGNORE:既不加载Bad Records也不将其写入原始CSV文件。
    • FAIL:如果发现存在Bad Records,数据加载将会失败。
      说明:

      在加载数据时,如果所有记录都是Bad Records,则参数BAD_RECORDS_ACTION将不起作用,加载数据操作将会失败。

    IS_EMPTY_DATA_BAD_RECORD

    false

    如果设置为“false”,则空(""或''或,,)数据将不被视为Bad Records,如果设置为“true”,则空数据将被视为Bad Records。

    BAD_RECORD_PATH

    -

    指定存储Bad Records的HDFS路径。默认值为Null。 如果启用了Bad Records日志记录或者Bad Records操作重定向,则该路径必须由用户进行配置。

    示例:

    LOAD DATA INPATH 'filepath.csv' INTO TABLE tablename OPTIONS('BAD_RECORDS_LOGGER_ENABLE'='true', 'BAD_RECORD_PATH'='hdfs://hacluster/tmp/carbon', 'BAD_RECORDS_ACTION'='REDIRECT', 'IS_EMPTY_DATA_BAD_RECORD'='false');

    说明:

    使用“REDIRECT”选项,CarbonData会将所有的Bad Records添加到单独的CSV文件中,但是该文件内容不能用于后续的数据加载,因为其内容可能无法与源记录完全匹配。用户必须清理原始源记录以便于进一步的数据提取。该选项的目的只是让用户知道哪些记录被视为Bad Records。

  • MAXCOLUMNS:该可选参数指定了在一行中,由CSV解析器解析的最大列数。

    OPTIONS('MAXCOLUMNS'='400')

    表3 MAXCOLUMNS

    可选参数名称

    默认值

    最大值

    MAXCOLUMNS

    2000

    20000

    表4 MAXCOLUMNS可选参数的行为图

    MAXCOLUMNS值

    在文件Header选项中的列数

    考虑的最终值

    在加载项中未指定

    5

    2000

    在加载项中未指定

    6000

    6000

    40

    7

    文件header列数与MAXCOLUMNS值,两者中的最大值

    22000

    40

    20000

    60

    在加载项中未指定

    CSV文件第一行的列数与MAXCOLUMNS值,两者中的最大值

    说明:

    对于设置MAXCOLUMNS Option的最大值,要求executor具有足够的内存,否则,数据加载会由于内存不足的错误而失败。

  • 如果在创建表期间将SORT_SCOPE定义为GLOBAL_SORT,则可以指定在对数据进行排序时要使用的分区数。如果未配置或配置小于1,则将使用map任务的数量作为reduce任务的数量。 建议每个reduce任务处理512MB - 1GB数据。

    OPTIONS('GLOBAL_SORT_PARTITIONS'='2')

    说明:

    增加分区数可能需要增加“spark.driver.maxResultSize”,因为在driver中收集的采样数据随着分区的增加而增加。

  • DATEFORMAT:此选项用于指定表的日期格式。

    OPTIONS('DATEFORMAT'='dateFormat')

    说明:

    日期格式由日期模式字符串指定。 Carbon中的日期模式字母与JAVA中的日期模式字母相同。

  • TIMESTAMPFORMAT:此选项用于指定表的时间戳格式。
  • OPTIONS('TIMESTAMPFORMAT'='timestampFormat')
  • SKIP_EMPTY_LINE:数据加载期间,此选项将忽略CSV文件中的空行。

    OPTIONS('SKIP_EMPTY_LINE'='TRUE/FALSE')

  • 可选:SCALE_FACTOR:针对RANGE_COLUMN,SCALE_FACTOR用来控制分区的数量,根据如下公式:
    splitSize = max(blocklet_size, (block_size - blocklet_size)) * scale_factor
    numPartitions = total size of input data / splitSize

    默认值为3,range的范围为[1, 300]。

    OPTIONS('SCALE_FACTOR'='10')

    说明:
    • 如果GLOBAL_SORT_PARTITIONS和SCALE_FACTOR同时使用,只有GLOBAL_SORT_PARTITIONS生效。
    • RANGE_COLUMN合并默认使用LOCAL_SORT。

使用场景

可使用下列语句从CSV文件加载CarbonData table。

LOAD DATA INPATH 'folder path' INTO TABLE tablename OPTIONS(property_name=property_value, ...);

示例

data.csv源文件数据如下所示:

ID,date,country,name,phonetype,serialname,salary
4,2014-01-21 00:00:00,xxx,aaa4,phone2435,ASD66902,15003
5,2014-01-22 00:00:00,xxx,aaa5,phone2441,ASD90633,15004
6,2014-03-07 00:00:00,xxx,aaa6,phone294,ASD59961,15005

CREATE TABLE carbontable(ID int, date Timestamp, country String, name String, phonetype String, serialname String,salary int) STORED AS carbondata;

LOAD DATA inpath 'hdfs://hacluster/tmp/data.csv' INTO table carbontable

options('DELIMITER'=',');

系统响应

可在driver日志中查看命令运行成功或失败。

我们使用cookie来确保您的高速浏览体验。继续浏览本站,即表示您同意我们使用cookie。 详情

文档反馈

文档反馈

意见反馈

0/500

标记内容

同时提交标记内容