Spark对接TableStore快速指导_Spark ETL&Streaming数据源连接器_X-Pack Spark计算服务_云数据库 HBase 版
Spark对接TableStore快速指导
简介
表格存储(TableStore)是阿里云自研的面向海量结构化数据存储的Serverless NoSQL多模型数据库。
这里主要介绍通过“数据工作台”使用Spark对接TableStore数据表的使用方法。
前置条件
- TableStore 实例已创建。
本例中TableStore的实例区域为“华南1(深圳)”,名称为:test-store,实例的网络类型为VPC且VPC和Spark集群VPC保持一致。
通过如下方法查看Spark集群VPC信息:进入Spark分析集群页面,选择“数据库连接”>“连接信息”,查看Spark集群的VPC ID信息。如下图: - TableStore 表已创建.
本例中使用的TableStore的表名为:mysampletable,创建方法参考:https://help.aliyun.com/document_detail/34160.html?spm=a2c4g.11186623.2.16.2c0d7c258Wq4uB
#创建一个全新的表
ts> create -t mysampletable --pk '[{"C":"uid","t":"string"}, {"c":"pid","t":"integer"}]' --ttl 864000 --version 1
'''
创建一张表:mysampletable ,
并指定两列主键,分别是uid(string)和pid(integer)
设置数据声明周期为 864000秒(10天),版本数为1
'''
# 使用该表
ts> use -t mysampletable
# 插入数据
ts> put --pk '["86", 6771]' --attr '[{"c":"name", "v":"redchen1"}, {"c":"country", "v":"china"}]'
ts> put --pk '["86", 6772]' --attr '[{"c":"name", "v":"redchen2"}, {"c":"country", "v":"china"}]'
ts> put --pk '["86", 6773]' --attr '[{"c":"name", "v":"redchen3"}, {"c":"country", "v":"china"}]'
ts> put --pk '["86", 6774]' --attr '[{"c":"name", "v":"redchen4"}, {"c":"country", "v":"china"}]'
使用“数据工作台”>“作业管理”运行样例
步骤 1:通过“资源管理”上传样例代码Jar包
下载样例代码jar包“spark-examples-0.0.1-SNAPSHOT-shaded.jar”到以及依赖jar包本地目录。
wget https://spark-home.oss-cn-shanghai.aliyuncs.com/spark_example/spark-examples-0.0.1-SNAPSHOT-shaded.jar
wget https://spark-home.oss-cn-shanghai.aliyuncs.com/spark_connectors/spark-tablestore-4.11.0_2.3.2-1.0-SNAPSHOT.jar
wget https://spark-home.oss-cn-shanghai.aliyuncs.com/spark_connectors/tablestore-4.11.0-jar-with-dependencies.jar
在“数据工作台”>“资源管理”中添加文件夹“spark_on_tablestore”。上传下载的三个jar包到此文件夹。如下图:
步骤 2:通过“作业管理”创建并编辑作业内容
在“数据工作台”>“作业管理”中创建Spark作业,作业内容如下:
--class com.aliyun.spark.tablestore.JavaSparkOnTableStore
--jars /spark_on_tablestore/spark-tablestore-4.11.0_2.3.2-1.0-SNAPSHOT.jar,/spark_on_tablestore/tablestore-4.11.0-jar-with-dependencies.jar
--driver-memory 1G
--driver-cores 1
--executor-cores 2
--executor-memory 2G
--num-executors 2
--name spark_on_loghub
/spark_on_tablestore/spark-examples-0.0.1-SNAPSHOT.jar
http://shenzehn01-test-store.cn-shenzhen.vpc.ots.aliyuncs.com xxx1 xxx2
test-store mysampletable
作业内容参数说明:
参数 | 说明 |
xxx1 xxx2 | 分别为具备访问TableStore权限的AccessKey ID 和AccessKeySecret。 |
http://shenzehn01-test-store.cn-shenzhen.vpc.ots.aliyuncs.com | TableStore的VPC访问地址。 |
test-store mysampletable | 分别为TableStore的实例名称和表名。 |
作业内容如下图:
步骤 3:通过“作业管理”运行作业并查看结果
作业编辑完成后点击“运行”,选择Spark集群。运行状态会在下侧显示,如图:
运行成功后点击“YarnUI”,翻到最后看到类似如下结果表明Spark读取TableStore成功。如下:
TOTAL: 4
小结
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。
评论