上云无忧 > 文档中心 > 百度数据仓库 Palo - 导入数据
百度数据仓库 Palo Doris版
百度数据仓库 Palo - 导入数据

文档简介:
目前 PALO 支持两种数据导入方式:BOS 文件导入 和 本地文件导入。 BOS 文件导入: BOS 是百度对象存储的简称。关于如何开通和使用BOS,可以参考 这里。 PALO 通过名为 broker 的进程读取 BOS 上的数据并导入到 PALO 存储引擎中。 我们假设您在 BOS 上已经存放了一个数据文件: bos://yourt_buckets/path/to/file.txt
*此产品及展示信息均由百度智能云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

目前 PALO 支持两种数据导入方式:BOS 文件导入 和 本地文件导入。

  1. BOS 文件导入

    BOS 是百度对象存储的简称。关于如何开通和使用BOS,可以参考 这里。

    PALO 通过名为 broker 的进程读取 BOS 上的数据并导入到 PALO 存储引擎中。

    我们假设您在 BOS 上已经存放了一个数据文件:

    bos://yourt_buckets/path/to/file.txt

    其内容为以逗号分隔的两行数据:

    10000,Smith,Hello PALO!
    10001,Jack,Let's loading.

    其对应的表结构为上一节中创建的表 testTable。

    则您可以通过以下导入命令进行数据导入:

    LOAD LABEL testDb.first_label (
        DATA INFILE("bos://your_buckets/path/to/file.txt") 
        INTO TABLE testTable
        COLUMNS TERMINATED BY ","
    )
    WITH BROKER bos (
        "bos_endpoint" = "http://bj.bcebos.com",
        "bos_accesskey" = "xxxxxxxxxxxxxxxxxxxx",
        "bos_secret_accesskey"="xxxxxxxxxxxxxxxxxxxx"
    );

    其中 first_label 为本次导入作业的 label,它由用户指定,每次导入必须指定一个新的 label,用来区分导入的批次。bos 为 Broker 的名称(默认),您可以通过 show broker; 语句查看到该名称。后面的参数为访问 bos 所必须提供的参数。

    导入是一个异步命令。以上导入命令执行成功,仅代表导入任务提交成功,具体任务的执行情况,您可以通过 show load; 命令查看。当结果中,State 的状态为 FINIHSED,则表示导入成功,数据可见。

    不支持访问非 DORIS 所在地区的 BOS。如北京地区的 DORIS 集群无法访问保定地区的 BOS。

    bos_endpoint 指定了 BOS 的 endpoint。如北京的 BOS,则缩写为 bj,保定的缩写为 bd。

    bos_accesskey 和 bos_secret_accesskey 为用于访问 BOS 的 AK 和 SK,通常在公有云页面右上角的 安全认证 中查看。

    更多 broker 导入帮助,可以通过 help broker load; 以及 help show load; 查看。

  2. 本地文件导入

    PALO 还支持直接导入本地文件。这里的 本地,指和 DORIS 在同一 VPC 内的服务器。

    本地文件导入是 PALO 唯一需要使用 HTTP 协议端口对 PALO 进行操作的功能。

    您可以在集群页面看到 Leader Node HTTP 协议连接目标 和 Compute Node HTTP 协议连接目标 两个端口。

    理论上,您可以使用任意一个 HTTP 连接目标进行本地文件导入。但是我们建议您直接使用 Compute Node HTTP 协议连接目标,以减少一次 redirect。并且避免可能的客户端和 Compute Node 不通的的问题。

    您可以通过 curl 工具,导入本地文件

    curl --location-trusted -u user:password -T data.txt http://host:port/api/testDb/testTbl/_load?label=second_label&column_separator=%2c

    其中 data.txt 为您要导入的本地文件。testDb 和 testTbl 是需要导入的目标库表。label 则为本次导入的 label,column_separator 指定了列分隔符为 “逗号”(url 编码为 %2c)

    如果提交成功,则会返回

    {
        "status": "Success",
        "msg": "OK"
    }

    同样,您可以通过 http 命令,查看导入任务的状态:

    curl --location-trusted -u user:password http://192.168.16.17:8030/api/testDb/_load_info?label=second_label

    更多该导入方式的帮助,可以通 help mini load 查看。

相似文档
  • PALO 支持 Mysql 协议访问。您可以使用任意只用标准的 Mysql 客户端或程序库访问 PALO。 使用 MySQL 查询: 通过 MySQL 客户端连接到 PALO 以后,可以通过 show databases; 查看数据库。使用 use db_name; 选择数据库,使用 show tables; 查看数据库中的表。
  • PALO 目前对外提供两个访问端口,分别是支持 Mysql 协议的 9030 端口,以及支持 http 协议的 8030 端口。 您在创建好 PALO 集群后,可以在 集群信息 页面查看集群的连接信息。
  • 在快速入门教程中,我们通过 PALO 的 UI 界面完成了 PALO 的一些基本操作。而在实际生产环境中,用户通常需要使用程序连接到 PALO 并进行各种操作。
  • 在本文档中,我们将罗列 PALO 一些常用的高级特性,帮助用户对 PALO 有一个更全面的了解。 部分特性的具体使用说明,我们会在单独的文档中介绍。 关系表和分区分桶: 在 PALO 中,用户数据是以二维关系表的方式存储的。并且基于 PALO 的 Shard-Nothing 分布式架构,一张表的数据会根据用户指定的分区和分桶方式,水平切分成多个数据分片(Tablet),存储在不同节点上。
  • 本文档主要介绍 PALO 的建表和数据划分,以及建表操作中可能遇到的问题和解决方法。 基本概念: 在 PALO 中,数据都以关系表(Table)的形式进行逻辑上的描述。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部