实验内容:
本次实验使用DataWorks的DDL模式新建数据表,然后将保存在本地的某用户购买记录同步到MaxCompute数仓中,本实验采用的是增量数据同步,每次同步过来的数据会直接存储在MaxCompute中,不会覆盖之前的数据。
实验思路:
1、 进入DataWorks创建业务流程
2、 在MaxCompute通过DDL模式创建数据表
3、 导入数据到MaxCompute
实验目的:
1、 学会如何使用SQL语句创建数据表
2、 学会如何将增量数据同步到MaxCompute
实验步骤:
进入到DataWorks工作空间(具体进入方式见https://developer.aliyun.com/article/1341783?spm=a2c6h.13148508.setting.15.25274f0eQ8JVET)
Datastudio界面如下图所示
DataWorks的DataStudio(数据开发)模块主要提供界面化、智能高效的大数据数据开发与测试功能
点击【+新建】,新建业务流程
DataWorks同步数据是建立在业务流程上的,只有先有业务流程才能继续进行别的操作。
展开左侧菜单,鼠标右键,然后点击【新建表】
输入表名称,新建数据表【datatomc】
在新建的表中,点击如下图【DDL】
数据库模式定义语言DDL(Data Definition Language),是用于描述数据库中要存储的现实世界实体的语言。
在如下DDL模式弹窗中,输入以下 SQL 语句(SQL语句创建的表名必须和填写的表名一致,否则会报错。):
CREATE TABLE IF NOT EXISTS datatomc //CREATE是SQL语句的创建语法,CREATE TABLE IF NOT EXISTS datatomc的意思为如果不存在
//datatomc这个数据表,则创建名称为datatomc的数据表。
InvoiceNo STRING COMMENT 'InvoiceNo',//InvoiceNo为字段名,STRING为这个字段的属性是字符类型,COMMENT ‘InvoiceNo’代表备注名称为InvoiceNo,Lifecycle 代表生命周期
StockCode STRING COMMENT 'StockCode',
Description STRING COMMENT 'Description',
Quantity BIGINT COMMENT 'Quantity',
InvoiceDate STRING COMMENT 'InvoiceDate',
UnitPrice DOUBLE COMMENT 'UnitPrice',
CustomerID DOUBLE COMMENT 'CustomerID',
Country STRING COMMENT 'Country'
)
COMMENT 'UCI E-Commerce DATASET '
lifecycle 36000;
点击【生成表结构】
创建的表只有提交到生产环境后才可以同步数据。
输入"测试同步数据"
提交到生产环境
提交成功之后,在【业务流程-表】中可以看到对应效果,效果如下图所示:
右键点击表名,选择导入数据
点击下一步
点击下一步之后需要上传CSV文件,如图在左侧的【实验手册】找到CSV下载链接,点击复制图标复制CSV文件下载链接。
https://demo-yuze.oss-cn-beijing.aliyuncs.com/e_commerce_clean.csv?spm=a1z3jh.13331991.0.0.9f637871BVbOhT&file=e_commerce_clean.csv
回到DataWorks数据开发界面,点击浏览按钮上传CSV文件
系统会自动的解析显示前 100 条数据 , 设置【选择分隔符】为|,点击下一步
点击下一步之后,在【将本地数据导入开发表】弹窗中,选择按名称匹配,然后点击【导入数据】
导入成功后系统会显示导入的数据条数。
数据导入成功之后,点击,选择“数据地图“,如下图所示
在输入框中输入”datatomc“,然后点击【搜索】按钮,如下图所示:
点击【datatomc】,如下图所示:
点击【数据预览】看可以看到数据已经导入到MaxCompute,如下图所示:
实验总结:
本实验使用DataWorks的DDL模式实现数据同步的功能,将某电商用户的购物数据同步到MaxCompute数仓。
具体步骤为先创建数据表,然后将数据导入,这样可以实现每次导入数据不覆盖上一次的导入数据,被称作增量数据同步。