通过Datahub将本地的CSV文件导入Tablestore

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
云备份 Cloud Backup,100GB 3个月
简介: 前言Tablestore是一款NoSQL多模型数据库,可提供海量结构化数据存储以及快速的查询和分析服务。如何将数据导入Tablestore,可以通过SDK/API、控制台、命令行工具直接写入、或者使用离线数据迁移工具DataX等。

前言

Tablestore是一款NoSQL多模型数据库,可提供海量结构化数据存储以及快速的查询和分析服务。如何将数据导入Tablestore,可以通过SDK/API、控制台、命令行工具直接写入、或者使用离线数据迁移工具DataX等。本文介绍另外一种本地数据快速导入Tablestore的途径:通过Datahub将本地的CSV文件导入Tablestore,希望能给大家接入和使用Tablestore提供新思路。

原理介绍

为什么选择Datahub

Datahub是专注于流数据处理的平台,提供对流式数据的发布,订阅和分发功能。通过Datahub可以轻松构建基于流式数据的分析和应用。要将本地csv文件中的数据导入Tablestore我们当然可以用现已发布的SDK写一个数据导入的tool实现,选择Datahub因为它专注于做数据通道服务。首先Datahub提供了更丰富的数据接入方式如这篇文章介绍的从csv文件接入和后面将介绍的从Logstash接入等,其次Datahub从优化消费体验降低使用难度上扩展了订阅、协同消费等功能,使数据的消费逻辑更清晰简明。

数据模型转换介绍

01_jpeg

一个csv文件对应Datahub中Project下的一个Topic,对应Tablestore中实例下的一张表。直观来看支持以行为单位固定列数且固定列属性的数据模型,数据导入Tablestore前行内所有的列都是属性列无差别,数据导入Tablestore后区分主键列和属性列,通过主键对行数据进行查询、更新等操作,所以csv文件中应将能作为主键的列放在行首。注意:csv中每列在Topic创建时均需一一对应定义,列数不一致或数据类型不相符文件将无法识别上传;主键列属性(列名称、列值的类型)在Datahub和Tablestore中也需要一一对应。

导入实践

csv文件准备

每行数据对应Tablestore表中的一行数据,行内列以逗号分隔,若将导入的Tablestore表设置了n个主键则靠前的n列对应主键列,其余对应属性列。

'pk001',1,'aaa','bbb','ccc','ddd','111','222','333'
'pk002',2,'aaa','bbb','ccc','ddd','111','222','333'
'pk003',3,'aaa','bbb','ccc','ddd','111','222','333'
'pk004',4,'aaa','bbb','ccc','ddd','111','222','333'
'pk005',5,'aaa','bbb','ccc','ddd','111','222','333'
'pk006',6,'aaa','bbb','ccc','ddd','111','222','333'
'pk007',7,'aaa','bbb','ccc','ddd','111','222','333'
'pk008',8,'aaa','bbb','ccc','ddd','111','222','333'
'pk009',9,'aaa','bbb','ccc','ddd','111','222','333'
'pk010',10,'aaa','bbb','ccc','ddd','111','222','333'

注意:目前Datahub仅支持列值所有数据类型(String, Bigint, Double,Boolean,Decimal,Timestamp)均以String类型写入Tablestore,“用户选择是否开启保留数据类型“的选项已在开发中,最大程度保障数据类型写入Tablestore的过程不失真。

Tablestore资源准备

创建实例

使用控制台创建Tablestore实例参考文档
02

设计主键、建表

将csv文件中九列属性列的前两列设置为主键列类型为string,名称为"pk1、pk2"(最多支持四个主键列),Tablestore支持同一个属性列的值可以有多种数据类型,故无需指定属性列类型,新建表参考文档
03_jpeg

Datahub资源准备

创建Project

使用控制台创建Datahub的Project参考文档。

创建Topic

在已创建的Project下创建Topic,选择tuple类型,在schema下添加九个列的列名及类型,需要注意topic的前两个列对应Tablestore表中的主键列,需要保持列名和类型相同。目前只支持1M以下文件的上传故分片(shard)选择默认的1个即可(Datahub中单shard支持最高每日8000万Record级别的写入量)。
04_jpeg

Datahub数据中转

csv上传Datahub

datahub支持csv文件的一键上传,在topic详情页面选择“数据采集”--“文件上传”,选择目的topic和上传文件的路径完成数据上传。
05

创建connector导入Tablestore

首先对datahub访问Tablestore进行授权授权链接,然后进入准备好的topic的详情页面选择“+DataConnector”--“同步到Tablestore”填写Tablestore的资源信息完成数据导入。
06
07
(Tablestore Endpoint 使用实例的私网地址)
进入表详情页面选择“数据管理”--“查询数据”,可以查看导入的10行数据完整信息
09
注意:文件数据导入为一次性操作,文件无改变情况重复导入,因为主键相同数据将被覆盖从时间戳可以看到数据已更新;若文件部分更新后再次导入,主键重复的数据依旧会被重写,新的数据正常写入。

计量计费

目前Datahub尚在公测期间,数据导入Datahub不收取费用,使用限制见Datahub产品概述,数据从Datahub导入Tablestore是通过“BatchWriteRow”接口,计费方式与直接写入Tablestore相同。

目录
相关文章
|
7月前
|
消息中间件 分布式计算 DataWorks
DataWorks常见问题之kafka数据导入datahub失败如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
|
存储 索引
表格存储根据多元索引查询条件直接更新数据
表格存储是否可以根据多元索引查询条件直接更新数据?
114 3
|
SQL NoSQL 数据可视化
玩转Tablestore:使用Grafana快速展示时序数据
Grafana 是一款采用 go 语言编写的开源应用,主要用于大规模指标数据的可视化展现,是网络架构和应用分析中最流行的时序数据展示工具,可以通过将采集的数据查询然后可视化的展示,实现报警通知;Grafana拥有丰富的数据源,官方支持以下数据源:Graphite,Elasticsearch,InfluxDB,Prometheus,Cloudwatch,MySQ
1757 0
玩转Tablestore:使用Grafana快速展示时序数据
|
5月前
|
DataWorks NoSQL 关系型数据库
DataWorks产品使用合集之如何从Tablestore同步数据到MySQL
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
7月前
|
分布式计算 DataWorks API
DataWorks常见问题之按指定条件物理删除OTS中的数据失败如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
|
7月前
|
DataWorks NoSQL 关系型数据库
可以使用dataworks从tablestore同步数据到mysql吗?
可以使用dataworks从tablestore同步数据到mysql吗?
75 1
|
NoSQL 开发工具
TableStore表格存储(阿里云OTS)多行数据操作查询,支持倒序,过滤条件和分页
1. 批量读取操作 批量读取操作可以通过多种方式进行,包括: GetRow:根据主键读取一行数据。 BatchGetRow:批量读取多行数据。 GetRange:根据范围读取多行数据。
885 0
|
存储 消息中间件 NoSQL
物联网数据通过规则引擎流转到OTS|学习笔记
快速学习物联网数据通过规则引擎流转到OTS
341 15
物联网数据通过规则引擎流转到OTS|学习笔记
|
存储 负载均衡 开发者
表格存储数据多版本介绍| 学习笔记
快速学习表格存储数据多版本介绍。
表格存储数据多版本介绍| 学习笔记
|
存储 NoSQL 关系型数据库
基于TableStore的海量气象格点数据解决方案实战 王怀远
基于TableStore的海量气象格点数据解决方案实战 王怀远
425 0
基于TableStore的海量气象格点数据解决方案实战 王怀远