宽表模型快速入门

更新时间:2025-02-07 09:18

宽表模型是类Bigtable/HBase模型,可应用于元数据、大数据等多种场景,单表支持PB级数据存储和千万QPS。本文介绍如何通过命令行工具使用宽表模型。

前提条件

已创建实例。具体操作,请参见创建实例

操作步骤

步骤一:配置接入实例信息

通过config命令配置接入信息。

执行前请使用您的实例Endpoint、实例名称、AccessKey ID、AccessKey Secret替换命令中的endpoint、instance、id、key。
config --endpoint https://myinstance.cn-hangzhou.ots.aliyuncs.com --instance myinstance --id NTSVL******************** --key 7NR2****************************************

步骤二:创建并使用数据表

创建数据表并选择要进行操作的数据表,以便进行后续表操作或者数据操作。

  1. 执行如下命令,创建order数据表。

    create -t order --pk '[{"c":"id","t":"string"}]'
  2. 执行如下命令,使用order数据表。

    use --wc -t order

更多信息,请参见数据表操作

步骤三:数据操作

根据需要进行数据操作,您可以写入、更新、读取、删除或者导出数据。

写入数据
更新数据
读取数据
删除数据
导出数据
  • 插入一行数据

    以下示例用于在数据表中插入一行数据。

    put --pk '["000000114d884ca1dbd6b9a58e8d0d94"]' --attr '[{"c":"pBrand","v":"brand1"},{"c":"pPrice","v":1599.0},{"c":"payTime","v":1509615334404,"isint":true},{"c":"totalPrice","v":2498.99},{"c":"sName","v":"售周五"},{"c":"pId","v":"p0003004"},{"c":"oId","v":"o0039248410"},{"c":"hasPaid","v":true},{"c":"sId","v":"s0015"},{"c":"orderTime","v":1509614885965,"isint":true},{"c":"pName","v":"brand1 type"},{"c":"cName","v":"消冯八"},{"c":"pType","v":"手机"},{"c":"pCount","v":1,"isint":true},{"c":"cId","v":"c0018"}]'
  • 导入数据

    下载样例数据压缩包到本地并解压,然后执行import命令批量导入数据。

    说明

    样例数据中总共包含100万条订单数据,可通过import -l参数自定义导入行数。

    以下示例用于导入样例数据文件中的5万条订单数据到当前表,且使用当前时间作为时间戳。其中yourFilePath表示样例数据压缩包解压后的路径,例如D:\\order_demo_data_1000000\\order_demo_data_1000000

    import -i yourFilePath --ignore_version -l 50000

    输出结果如下所示。

    Current speed is: 15800 rows/s. Total succeed count 15800, failed count 0.
    Current speed is: 27400 rows/s. Total succeed count 43200, failed count 0.
    Import finished, total count is 50000, failed 0 rows.

以下示例用于更新主键列为“000000114d884ca1dbd6b9a58e8d0d94”的行数据。无论此行是否存在均会插入新数据,如果之前行已存在,则写入数据时会覆盖原有数据。

update --pk '["000000114d884ca1dbd6b9a58e8d0d94"]' --attr '[{"c":"pBrand","v":"brand2"},{"c":"pPrice","v":1599.0},{"c":"payTime","v":1509615334404,"isint":true},{"c":"totalPrice","v":2498.99},{"c":"sName","v":"售周五"},{"c":"pId","v":"p0003004"},{"c":"oId","v":"o0039248410"},{"c":"hasPaid","v":true},{"c":"sId","v":"s0015"},{"c":"orderTime","v":1509614885965,"isint":true},{"c":"pName","v":"brand2 type"},{"c":"cName","v":"消冯八"},{"c":"pType","v":"手机"},{"c":"pCount","v":1,"isint":true},{"c":"cId","v":"c0018"}]'  --condition ignore
如需使用SQL查询与分析表中数据,请参见SQL查询
  • 读取一行数据

    以下示例用于读取主键列值为“000000114d884ca1dbd6b9a58e8d0d94”的行数据。

    get --pk '["000000114d884ca1dbd6b9a58e8d0d94"]'

    输出结果如下所示。

    +----------------------------------+-------+--------+---------+-------------+---------------+--------+--------+----------+-------------+--------+-------+---------------+-------+--------+------------+
    | id                               | cId   | cName  | hasPaid | oId         | orderTime     | pBrand | pCount | pId      | pName       | pPrice | pType | payTime       | sId   | sName  | totalPrice |
    +----------------------------------+-------+--------+---------+-------------+---------------+--------+--------+----------+-------------+--------+-------+---------------+-------+--------+------------+
    | 000000114d884ca1dbd6b9a58e8d0d94 | c0018 | 消冯八 | true    | o0039248410 | 1509614885965 | brand1 | 1      | p0003004 | brand1 type | 1599   | 手机  | 1509615334404 | s0015 | 售周五 | 2498.99    |
    +----------------------------------+-------+--------+---------+-------------+---------------+--------+--------+----------+-------------+--------+-------+---------------+-------+--------+------------+
  • 扫描数据

    以下示例用于扫描获取数据表中的最多10行数据。

    scan --limit 10

以下示例用于删除主键列值为“000000114d884ca1dbd6b9a58e8d0d94”的行数据。

delete --pk '["000000114d884ca1dbd6b9a58e8d0d94"]'

导出表中数据到本地JSON文件中。

以下示例用于导出当前表中pId、oId和cName列的数据到本地文件mydata.json。

scan -o /tmp/mydata.json -c pId,oId,cName

更多信息,请参见数据操作

相关文档

如需加速数据查询,请使用二级索引或多元索引实现。更多信息,请参见二级索引多元索引

  • 本页导读 (1)
  • 前提条件
  • 操作步骤
  • 步骤一:配置接入实例信息
  • 步骤二:创建并使用数据表
  • 步骤三:数据操作
  • 相关文档
文档反馈
phone 联系我们