ImageVerifierCode 换一换
格式:PDF , 页数:205 ,大小:14.12MB ,
资源ID:1240424      下载积分:25 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/1240424.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     留言反馈    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【Stan****Shan】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【Stan****Shan】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(一站式结构化数据存储Tablestore实战手册.pdf)为本站上传会员【Stan****Shan】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

一站式结构化数据存储Tablestore实战手册.pdf

1、卷首语号称 Google 三驾马车的重要论文 GFS、MapReduce、Bigtable 的发布引爆了大数据时代,奠定了风靡全球的大数据技术基础。Bigtable 启发了诸多 NoSQL 数据库的诞生,比如Cassandra、HBase、Tablestore 等。其中表格存储 Tablestore 是阿里云存储团队基于Bigtable 思想自研的分布式结构化数据存储,历经十年发展,覆盖了国内外 30+区域、拥有1 万+服务器规模、200+PB 存储规模,输出了新零售订单存储、物联网平台数据存储、IM 消息数据存储等众多解决方案。作为一款免运维 NoSQL 数据库产品,Tablestore 在

2、数据存储系统架构中扮演着什么角色?如何十分钟内学会一款分布式数据库?本书将带大家从零开始上手体验表格存储,并实战演示如何基于 Tablestore 打造百亿级订单存储系统架构。目录表格存储 Tablestore 简介5表格存储 Tablestore 简介5十分钟快速上手8准备工作8快速上手宽表模型12快速上手时序模型28控制台入门指南38Tablestore 控制台入门指南38Tablestore SDK 开发指南50Java SDK 开发入门50Go SDK 开发入门57Python SDK 开发入门66Node.js SDK 开发入门72场景实战83基于 MySQL+Tablestore

3、分层存储架构的大规模订单系统实践-架构篇83基于 MySQL+Tablestore 分层存储架构的大规模订单系统实践-数据同步 DTS 篇91基于 MySQL+Tablestore 分层存储架构的大规模订单系统实践-数据同步 Canal 篇108基于 MySQL+Tablestore 分层存储架构的大规模订单系统实践-订单搜索篇123基于 MySQL+Tablestore 分层存储架构的大规模订单系统实践-SQL 查询和分析137基于 MySQL+Tablestore 分层存储架构的大规模订单系统实践-基于 DLA 的联邦查询147基于 MySQL+Tablestore 分层存储架构的大规模订

4、单系统实践-数据处理 ETL 篇165基于 MySQL+Tablestore 分层存储架构的大规模订单系统实践-历史数据分析篇172基于 MySQL+Tablestore 分层存储架构的大规模订单系统实践-数据流计算篇1895表格存储 Tablestore 简介表格存储 Tablestore 简介表格存储 Tablestore 简介前言前言近十年来互联网技术得到了飞速的发展,越来越多的行业逐渐加入到了互联网的阵营中来,同时也产生了更丰富、更复杂的业务场景和需求,这对于数据应用系统的性能无疑是巨大的挑战。传统应用系统通常会选择关系型数据库 MySQL 作为存储引擎,原因是 MySQL 自身拥有强

5、大的数据查询能力,同时能满足 ACID 强事务处理。但仅以单点 MySQL 作为存储系统架构会存在如下几个问题:第一,存储规模和并发都存在瓶颈,难以支持规模很大的业务场景。第二,集群需要预备计算和存储资源,弹性低。且集群扩缩容需要进行数据迁移,扩展性差。第三,成本非常高。业务规模变大后成本会直线飙升,但是性能却存在瓶颈。如何优化如何优化上述的问题本质上也是关系型数据库瓶颈所在。可以从存储和流量两个方面来分析可优化的点。第一点是存储,可以按照访问频率、数据量将数据划分为热数据与冷数据。热数据的特点为规模小、访问频率高、事务相关性强。冷数据的特点为规模大、访问频率低、事务相关性弱。MySQL 仅负

6、责热数据的存储,而将冷数据迁移到其他成本低、规模大的存储引擎中,具备这两个特性的毫无疑问是 NoSQL 数据库。第二点是流量,可以将流量划分为数据查询、数据检索、数据分析。其中数据检索、分析对服务计算资源消费比较高,可以将这部分流量卸载到 NoSQL数据库中,MySQL 只负责处理简单的数据查询。整体的优化如下图所示。表格存储 Tablestore 简介表格存储 Tablestore 简介十分钟快速上手十分钟快速上手启动命令行启动命令行解压缩下载的 zip 包,进入 Tablestore CLI 根目录。执行./ts 启动命令行工具。./ts#Welcome to use Command Li

7、ne Tool for Aliyun Tablestore.Current Version is 2021-11-11.#_#|_|#|_ _|_|_|_ _#|/_|_|/_ /_|_|/_|_|/_#|(_|_)|_/_|_|(_)|_/#|_|_,_|_._/|_|_|_/_|_/|_|_|#Please visit our product website:https:/ can also join our DingTalk Chat Group(ID:11789671 or 23307953)to discuss andask Tablestore related questions.

8、#tablestore获取 AccessKeyID 和 AccessKeySecret获取 AccessKeyID 和 AccessKeySecret1.登录阿里云官网,进入表格存储控制台。单击 AccessKey 管理。十分钟快速上手十分钟快速上手配置实例和服务地址配置实例和服务地址执行 config 命令配置实例名和服务地址。执行 config help 可查看详细参数信息和 Sample示例。提示:可选择公网地址作为访问服务地址,格式为 https:/instanceNconfig-endpoint your_endpoint-instance your_instanceName十分钟快

9、速上手十分钟快速上手宽表操作宽表操作创建数据表。执行 create 命令创建一张订单表,表名为 order。create-t order-pk c:id,t:string选择数据表。执行 use-wc 命令选择操作 order 表。use-wc-t order数据导入。这里提供两种方式导入数据,二选一即可。自定义数据,执行 put 命令单行写入。示例中写入了 5 条订单数据。put-pk 0000000f470ef0f548b925ceffe1a7e3-attr c:pBrand,v:oppo,c:pPrice,v:2498.99,c:totalPrice,v:1599.0,c:sName,v

10、:售郑七,c:pId,v:p0004001,c:oId,v:o0057022192,c:hasPaid,v:false,c:sId,v:s0007,c:orderTime,v:1518510583886,isint:true,c:pName,v:oppo K1,c:cName,v:消郑七,c:pType,v:手机,c:pCount,v:1,isint:true,c:cId,v:c0017put-pk 000000114d884ca1dbd6b9a58e8d0d94-attr c:pBrand,v:vivo,c:pPrice,v:1599.0,c:payTime,v:1509615334404,

11、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:vivo x21,c:cName,v:消冯八,c:pType,v:手机,c:pCount,v:1,isint:true,c:cId,v:c0018put-pk 0000004dbeb751e77cf0b3f0da90b6ee-attr c:pBrand,v:小米,c:p

12、Price,v:2002.0,c:payTime,v:1491560220742,isint:true,c:totalPrice,v:6006.0,c:sName,v:售楚十,c:pId,v:p0005001,c:oId,v:o0003171350,c:hasPaid,v:true,c:sId,v:s0021,c:orderTime,v:1491560154808,isint:true,c:pName,v:小米pad,c:cName,v:消赵一,c:pType,v:平板,c:pCount,v:3,isint:true,c:cId,v:c0022put-pk 00000057f33ff1d0a2

13、d00ff6dbf4c411-attr c:pBrand,v:oppo,c:pPrice,v:3199.98,c:totalPrice,v:3199.98,c:sName,v:售周五,c:pId,v:p0004003,c:oId,v:o0036473830,c:hasPaid,v:false,c:sId,v:s0015,c:orderTime,v:1508226047439,isint:true,c:pName,v:oppo R17,c:cName,v:消吴六,c:pType,v:手机,c:pCount,v:1,isint:true,c:cId,v:d0006十分钟快速上手十分钟快速上手|00

14、00005be2b43dd134eae18ebe079774|c0015|消周五|false|o0035062633|1507519847532|小米|3|p0005003|小米 6|2299.21|手机|s0017|售郑七|6897.63|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+执行 scan 命令查询多行数据。示例中查询了 5 条订单数据。scan-l 5输出+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|id|cId|cName|hasPaid|oId|orderTime|pBrand|pCount|pId|pName|pPrice|pType|

15、sId|sName|totalPrice|payTime|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|0000000f470ef0f548b925ceffe1a7e3|c0017|消郑七|false|o0057022192|1.518510583886e+12|oppo|1|p0004001|oppo K1|2498.99|手机|s0007|售郑七|1599|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|000000114d884ca1dbd6b9a58e8d0d94|c0018|消冯八|true|o0039248410|1.50961488596

16、5e+12|vivo|1|p0003004|vivo x21|1599|手机|s0015|售周五|2498.99|1.509615334404e+12|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|0000004dbeb751e77cf0b3f0da90b6ee|c0022|消赵一|true|o0003171350|1.491560154808e+12|小米|3|p0005001|小米 pad|2002|平板|s0021|售楚十|6006|1.491560220742e+12|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+十分钟快速上手十分钟快速上手s

17、Id MEDIUMTEXT,sName MEDIUMTEXT,totalPrice DOUBLE,PRIMARY KEY(id);示例一:查询 10 条售货员姓名为“售周五”的订单,按照订单总金额升序排列。select*fromorderwheresName=售周五order bytotalPrice asclimit10;输出+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|id|cId|cName|hasPaid|oId|orderTime|pBrand|pCount|pId|pName|pPrice|pType|payTime|sId|sName|totalPrice|

18、+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|000d63a8240fd5798ae533fab9627fbd|c0018|消冯八|true|o0067305260|1523656305350|小米|1|p0005004|红米 5s|499.01|手机|1523656890642|s0005|售周五|499.01|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+十分钟快速上手十分钟快速上手+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|0000f560b62779285e86947f8e8d0e4c|c0008|消冯八|false|o

19、0000826505|1490386088808|小米|1|p0005004|红米 5s|499.01|手机|null|s0015|售周五|499.01|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|00026613c323ad57e57a87730f316f94|c0018|消冯八|false|o0094575530|1537306505439|小米|1|p0005004|红米 5s|499.01|手机|null|s0015|售周五|499.01|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+示例二:统计产品类型为“手机”的订单条数selectcou

20、nt(*)fromorderwherepType=手机;输出+-+|count(*)|+-+|33915|+-+示例 3:统计产品个数大于 1 的订单条数selectcount(*)十分钟快速上手 1;输出+-+|count(*)|+-+|33481|+-+退出 sql 模式exit;退出 cli 工具exit高级特性高级特性多元索引提供了丰富的查询方式和数据聚合能力,例如全文检索、多列排序、分组、求和等等。多元索引在 SQL 查询加速方面也有着很好的特性,下面将再导入一百万条订单数据(这里不作展示,参考上文导入),使用 SQL 查询。执行 create_search_index 命令创建多元

21、索引。注意:创建多元索引后会按照表中数据量大小产生少量费用,删除索引后停止计费。多元索引创建后需要等待一段时间,数据表中的数据将以异步的方式自动同步到索引中。21十分钟快速上手create_search_index-t order-n order_indexIndexSetting:null,FieldSchemas:FieldName:id,FieldType:KEYWORD,Index:true,EnableSortAndAgg:true,Store:true,FieldName:cId,FieldType:KEYWORD,Index:true,EnableSortAndAgg:true,

22、Store:true,FieldName:cName,FieldType:KEYWORD,Index:true,EnableSortAndAgg:true,Store:true,FieldName:hasPaid,FieldType:BOOLEAN,Index:true,EnableSortAndAgg:true,Store:true,FieldName:oId,FieldType:KEYWORD,Index:true,EnableSortAndAgg:true,Store:true十分钟快速上手十分钟快速上手Index:true,EnableSortAndAgg:true,Store:tru

23、e,FieldName:pType,FieldType:KEYWORD,Index:true,EnableSortAndAgg:true,Store:true,FieldName:sId,FieldType:KEYWORD,Index:true,EnableSortAndAgg:true,Store:true,FieldName:sName,FieldType:KEYWORD,Index:true,EnableSortAndAgg:true,Store:true,FieldName:totalPrice,FieldType:DOUBLE,Index:true,EnableSortAndAgg:

24、true,Store:true十分钟快速上手十分钟快速上手|vivo|162539|+-+-+|小米|194543|+-+-+|苹果|96153|+-+-+示例三:检索所有产品名包含“iphone”并且消费者姓名为“消赵一”并且已经支付的订单,返回前面 10 条订单。select*fromorderwherepayTime is not nulland cName=消赵一and pName like%iphone%limit10;输出+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|id|cId|cName|hasPaid|oId|orderTime|pBrand|pCoun

25、t|pId|pName|pPrice|pType|payTime|sId|sName|totalPrice|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|000031205a858155c4cce6d464642086|c0022|消赵一|true|o0035222739|1507599844791|苹果|3|p0001005|iphone X|8989|手机|1507600392490|s0021|售楚十|26967|十分钟快速上手十分钟快速上手|0000fe74dbccc478a3db91fadd06ffeb|c0021|消赵一|true|o0073210619|15

26、26613119777|苹果|1|p0001003|iphone 7|7979|手机|1526613369627|s0011|售赵一|7979|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|0001daac925913db5a995dca78701f60|c0021|消赵一|true|o0092439401|1536237095817|苹果|2|p0001005|iphone X|8989|手机|1536237549982|s0016|售吴六|17978|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|0002341af23476b87bdc35998

27、26c0a96|c0023|消赵一|true|o0089564235|1534798174984|苹果|3|p0001004|iphone 7p|8080|手机|1534798468123|s0014|售李四|24240|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+十分钟快速上手十分钟快速上手数据导入。这里提供两种方式导入数据,二选一即可。自定义数据,执行 putts 命令单行写入。示例中写入了 1 条时序数据。putts-k car_data,car_0000010,brand=brand0,id=car_0000010,model=em3-field c:durati

28、on,v:121,isint:true,c:mileage,v:6480,isint:true,c:power,v:69,isint:true,c:speed,v:24,isint:true,c:temperature,v:13,isint:true-time 1636460000000000下载样例数据,执行 import_timeseries 命令批量导入。样例数据中共包含 500 万条时序数据,可通过 import_timeseries-l 参数自定义导入行数(1000 万行内免费使用),示例中导入了 5 万条时序数据。yourFilePath 表示样例数据压缩包解压后的路径。导入命令i

29、mport_timeseries-i yourFilePath-l 50000输出Current speed is:11000 rows/s.Total succeed count 11000,failed count 0.Current speed is:13000 rows/s.Total succeed count 24000,failed count 0.Current speed is:16400 rows/s.Total succeed count 40400,failed count 0.Import finished,total count is 50000,failed 0

30、rows.执行 getts 命令查询一条时间线的前 5 个时间点。getts-k car_data,car_0000006,brand=brand2,id=car_0000006,model=em2-l 5输出+-+-+-+-+-+-+-+-+-+|measurement|data_source|tags|timestamp|duration|mileage|power|speed|temperature|+-+-+-+-+-+-+-+-+-+|car_data|car_0000006|brand=brand2,id=car_0000006,model=em2|1636560000000000

31、|190|1770|33|54|29|十分钟快速上手十分钟快速上手|car_data|car_0000000|brand=brand0,id=car_0000000,model=m3|null|1637722787172818|+-+-+-+-+-+|car_data|car_0000008|brand=brand0,id=car_0000008,model=m3|null|1637722789832880|+-+-+-+-+-+|car_data|car_0000002|brand=brand1,id=car_0000002,model=nm1|null|1637722787915852|+

32、-+-+-+-+-+|car_data|car_0000006|brand=brand2,id=car_0000006,model=em2|null|1637722789006974|+-+-+-+-+-+|car_data|car_0000001|brand=brand2,id=car_0000001,model=em2|null|1637722787260034|+-+-+-+-+-+|car_data|car_0000004|brand=brand0,id=car_0000004,model=m2|null|1637722788529313|+-+-+-+-+-+|car_data|ca

33、r_0000003|brand=brand1,id=car_0000003,model=nm0|null|1637722788288273|+-+-+-+-+-+|car_data|car_0000007|brand=brand2,id=car_0000007,model=em2|null|1637722789315575|+-+-+-+-+-+SQL 模式SQL 模式执行 sql 命令进入 SQL 命令行模式,可通过 sql 语句查询时序表。sql时序模型自动生成了 sql 映射表,可直接执行 sql 查询。十分钟快速上手十分钟快速上手car_data:metawheretag_value_

34、at(_tags,brand)=brand2;输出+-+|count(*)|+-+|4|+-+时间点查询示例三:查询度量名称为“car_data”并且数据源为“car_0000001”车辆,返回“power”度量的前 10 个数据点。select_time,_field_name,_long_value as valuefromcar_datawhere_m_name=car_dataand _data_source=car_0000001and _field_name=powerlimit10;输出+-+-+-+|_time|_field_name|value|+-+-+-+|1636560

35、000000000|power|68|十分钟快速上手十分钟快速上手输出+-+|speed|+-+|100|+-+示例五:对度量名称为“car_data”并且数据源为“car_0000001”的车辆的室温数据按照时间窗口(60s 聚合一次)进行聚合,统计每分钟最低室温。SELECT_time DIV 60000000*60 as time_sec,min(_long_value)as temperatureFROMcar_dataWHERE_data_source=car_0000001AND _field_name=temperatureGROUP BYtime_secORDER BYtime

36、_sec ASCLIMIT20;输出+-+-+|time_sec|temperature|+-+-+|1636560000|11|+-+-+|1636560060|10|十分钟快速上手十分钟快速上手|1636561080|14|+-+-+|1636561140|10|+-+-+退出 sql 模式exit;退出 cli 工具exit控制台入门指南控制台入门指南Step2:创建表格存储实例Step2:创建表格存储实例1.登录阿里云控制台,搜索表格存储。点击表格存储 Tablestore 进入表格存储控制台。2.选择地域,点击创建实例。每个实例相当于一个数据库。控制台入门指南控制台入门指南3.输入数

37、据表名称,添加 1-4 个表主键,点击确定。下图示例中创建表名为 order,主键为 order_id 的数据表。Step4:向数据表中写入数据Step4:向数据表中写入数据1.点击数据表名,进入表管理界面。控制台入门指南控制台入门指南2.选择单行查询,输入主键信息,点击确定。下图示例中查询 order_id=o105的记录。3.返回查询结果。Step6:创建多元索引Step6:创建多元索引提示:多元索引提供了全文检索、多列组合查询、统计聚合等功能。1.切换到索引管理界面,点击创建多元索引。控制台入门指南控制台入门指南Step7:搜索数据Step7:搜索数据Tablestore 支持多元索引和

38、 SQL 两种方式检索数据。索引查询1.选择索引管理界面,点击搜索。2.添加需要查询的字段,可添加多个字段组合查询。选择是否排序以及排序字段,点击确定。下图示例中展示了全文搜索 c_name 字段中包含“二”的所有记录,返回结果按照 order_time降序排列。3.返回结果控制台入门指南控制台入门指南2.选择需要建立映射的数据表,点击生成 SQL。3.自动生成建表 SQL 后,点击执行 SQL。4.映射表成功创建后,开始编写 SQL 并执行。下图示例 SQL 查询了 customer 为“消十一”并且 product_type 为“手机”的记录。控制台入门指南控制台入门指南Tablestor

39、e SDK 开发指南Tablestore SDK 开发指南字段名字段类型字段描述order_timeString属性列下单时间pay_timeString属性列支付时间订单表开发步骤开发步骤初始化连接Tablestore 支持 Http/Https 协议访问服务端,使用 Java SDK 发起请求前,您需要初始化一个OTSClinet 实例,初始化需要获取到服务地址(endpoint)、实例名(instanceName)、密钥(accessKeyId、accessSecret)等信息。代码如下:public static void main(String args)SyncClient syn

40、cClient=new SyncClient(https:/order-,/your endpoint,此处可选择公网地址,/your accessKeyId,/your accessSecretorder-instance);/your instance name/operation_method(syncClinet);/operation method创建数据表示例代码中创建了一张订单数据表 order。public static void createOrderTable(SyncClient syncClient)TableOptions tableOptions=new Table

41、Options();tableOptions.setMaxVersions(1);tableOptions.setTimeToLive(-1);Tablestore SDK 开发指南Tablestore SDK 开发指南public static void getOrder(SyncClient syncClient)SingleRowQueryCriteria criteria=new SingleRowQueryCriteria(order);/设置表名criteria.setPrimaryKey(PrimaryKeyBuilder.createPrimaryKeyBuilder().ad

42、dPrimaryKeyColumn(order_id,PrimaryKeyValue.fromString(o1)/设置主键.build();criteria.setMaxVersions(1);GetRowResponse response=syncClient.getRow(new GetRowRequest(criteria);/发送读取数据请求System.out.println(response.getRow();创建多元索引示例代码中创建了一个多元索引 order_index。分别设置 customer_name 字符串类型、order_time 字符串类型、pay_time 字符

43、串类型、product_name 分词类型、product_type 字符串类型。public static void createSearchIndex(SyncClient syncClient)CreateSearchIndexRequest createSearchIndexRequest=new CreateSearchIndexRequest(order,order_index);/设置表名和索引名IndexSchema indexSchema=new IndexSchema();indexSchema.setFieldSchemas(Arrays.asList(/设置索引结构ne

44、w FieldSchema(customer_name,FieldType.KEYWORD),new FieldSchema(order_time,FieldType.KEYWORD),new FieldSchema(pay_time,FieldType.KEYWORD),new FieldSchema(product_name,FieldType.TEXT),new FieldSchema(product_type,FieldType.KEYWORD);createSearchIndexRequest.setIndexSchema(indexSchema);syncClient.create

45、SearchIndex(createSearchIndexRequest);/发送创建索引请求System.out.println(create search index succeed);Tablestore SDK 开发指南Tablestore SDK 开发指南System.out.println(total rows:+response.getTotalCount();for(Row row:response.getRows()System.out.println(row);示例代码中查询了消费者姓名为“消十一”并且下单时间在“2021-10-24 00:00:00”之间的订单。并统计了

46、行数。public static void searchQuery3(SyncClient syncClient)SearchRequest searchRequest=SearchRequest.newBuilder().tableName(order).indexName(order_index)/设置表名、索引名.searchQuery(SearchQuery.newBuilder().query(QueryBuilders.bool().must(QueryBuilders.term(customer_name,消十一).must(QueryBuilders.range(order_t

47、ime).lessThan(2021-10-24 00:00:00).getTotalCount(true)/获取查询命中的行数.build().returnAllColumns(true).build();SearchResponse response=syncClient.search(searchRequest);System.out.println(total rows:+response.getTotalCount();for(Row row:response.getRows()System.out.println(row);删除多元索引示例代码中展示了删除订单表 order 中的

48、order_index 多元索引。Tablestore SDK 开发指南Tablestore SDK 开发指南Go SDK 开发入门准备工作准备工作在您开始 Tablestore SDK 开发前,需确保已开通表格存储服务并且已创建表格存储实例。您需要提前获取到以下几个参数:服务地址(Endpoint)。可选择公网地址进行测试。实例名(InstanceName)。访问密钥(AccessKeyID、AccessKeySecret)。开发简介开发简介开发示例中将以订单场景为例,使用 Tablestore SDK 实现如下几个功能。订单表创建。订单插入。订单号查询。订单搜索。字段名字段类型字段描述or

49、der_idString主键订单号customer_nameString属性列消费者姓名product_nameString属性列产品名product_typeString属性列产品类型order_timeString属性列下单时间pay_timeString属性列支付时间订单表Tablestore SDK 开发指南Tablestore SDK 开发指南reservedThroughput.Writecap=0createtableRequest.TableMeta=tableMetacreatetableRequest.TableOption=tableOptioncreatetableRequest.ReservedThroughput=reservedThroughputclient.CreateTable(createtableRequest)/发送创建数据表请求fmt.Println(create table succeed)写入数据示例代码中写入了一条订单数据,订单号 order_id 为“o1”。样例中模拟了一万条订单数据,这里不作展示。func putOrder(client*tablestore.TableStoreClient)putRowRequest:=new(tablestore.PutRowRequest)putRowChange:=new(table

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服