Dataworks同步数据到X-pack Spark
简介
本文主要介绍如何通过“Dataworks->数据集成->离线同步”把数据同步到X-pack Spark的hdfs上。同步数据到X-pack的hdfs后,就可以使用X-pack Spark对数据进行分析。
本例通过把Dataworks的一张表同步到X-pack Spark的hadfs为例,介绍如何同步数据。
前置条件
- X-pack Spark集群已经开通hdfs端口。需要联系X-pack Spark维护人员:“云X-Pack Spark答疑” 开通。
操作步骤
在Dataworks中创建“独享数据集成资源组”
X-pack Spark的hdfs是在VPC内,Dataworks要求一定要使用“独享数据集成资源组”才可以同步数据。
假设创建的“独享数据集成资源组”的名称为:test_cluster,如下图:
注意:可用区应要选择和X-pack Spark一样的可用区。
独享数据集成资源组的创建详细指导请参考Dataworks官方文档:“独享资源组”
对“独享数据集成资源组”进行“专有网络绑定”
创建完“独享数据集成资源组”之后需要对其操作“专有网络绑定”,如下图:
注意:“专有网络” 一定要选择和X-pack Spark相同的专有网络。 “交换机”和“安全组”建议选择和X-pack Spark相同的。(本例选择相同的)
在“X-pack Spark”中配置Dataworks的白名单。
需要在X-pack Spark中配置Dataworks的白名单,Dataworks才能访问到X-pack Spark。
打开上一步骤中绑定的“交换机”, 查看交换机的“IPv4网段”, 把“IPv4网段”对应的IP断添加到X-pack Spark的白名单中。
配置Dataworks的安全组出入端口。
“独享数据集成资源组”绑定“安全组”后,需要配置安全组的出入端口,保证“独享数据集成资源组”可以访问到X-pack Spark的hdfs。 需要打开8020和50070端口。
在Dataworks中创建表。
在Dataworks创建表test01,数据如下:
CREATE TABLE IF NOT EXISTS test01
(
id STRING,
name STRING
)
insert into test01 values('a', 'b')
在Dataworks中创建“离线同步”。
创建离线同步把数据表test01同步到X-pack Spark的hdfs中。Dataworks不支持到hdfs的向导配置,需要切换到“脚本模式”配置任务。脚本内容如下:
{
"type": "job",
"steps": [
{
"stepType": "odps",
"parameter": {
"partition": [],
"datasource": "odps_first",
"column": [
"*"
],
"guid": null,
"emptyAsNull": false,
"table": "test01"
},
"name": "Reader",
"category": "reader"
},
{
"stepType": "hdfs",
"parameter": {
"path": "/tmp",
"fileName": "test01.txt",
"compress": "GZIP",
"defaultFS": "hdfs://${spark集群id}",
"hadoopConfig": {
"dfs.ha.automatic-failover.enabled.${spark集群id}": true,
"dfs.namenode.http-address.${spark集群id}.nn1": "${spark集群id}-master1-001.spark.rds.aliyuncs.com:50070",
"dfs.namenode.http-address.${spark集群id}.nn2": "${spark集群id}-master2-001.spark.rds.aliyuncs.com:50070",
"dfs.client.failover.proxy.provider.${spark集群id}": "org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider",
"dfs.nameservices": "${spark集群id}",
"dfs.ha.namenodes.${spark集群id}": "nn1,nn2",
"dfs.namenode.rpc-address.${spark集群id}.nn1": "ap-wz9t69njoc3xzt65y-master1-001.spark.rds.aliyuncs.com:8020",
"dfs.namenode.rpc-address.${spark集群id}.nn2": "ap-wz9t69njoc3xzt65y-master2-001.spark.rds.aliyuncs.com:8020"
},
"column": [
{
"name": "col1",
"type": "string"
},
{
"name": "col2",
"type": "string"
}
],
"writeMode": "append",
"encoding": "UTF-8",
"fieldDelimiter": ",",
"fileType": "text"
},
"name": "Writer",
"category": "writer"
}
],
"version": "2.0",
"order": {
"hops": [
{
"from": "Reader",
"to": "Writer"
}
]
},
"setting": {
"errorLimit": {
"record": ""
},
"speed": {
"concurrent": 2,
"throttle": false
}
}
}
脚本说明:
"datasource": "odps_first": Dataworks默认创建的数据源。
"table": "test01": Dataworks的数据表:test01
"path": "/tmp": 写入数据到hdfs的路径。
"fileName": "test01.txt":写入数据到hdfs的文件名称。
"compress": "GZIP": 写入到hdfs的文件压缩格式。
"defaultFS": "hdfs://${spark集群id}": X-pack Spark hdfs集群的defaultFS,需要把${spark集群id}替换成自己的X-pack Spark集群ID。
"hadoopConfig": {xxx}: X-pack Spark hdfs集群的HA 的配置信息,需要把内容中的${spark集群id}替换成自己的X-pack Spark集群ID。
脚本配置完后,需要“配置任务资源组”, 点击“配置任务资源组” 选择第一步创建的“独享数据集成资源组”:test_cluster。 如下图:
在Dataworks中运行查看效果。
配置完毕后点击“运行”,等待运行成功。然后查询X-pack Spark的hdfs中是否有文件写入,当出现如下文件时,说明写入成功:
如何查看X-pack Spark hdfs文件,请参考:Spark控制台
小结
数据同步到X-pack Spark hdfs 后可以同步X-pack Spark 控制分析hdfs的数据了。
- X-pack Spark控制台使用参考:X-pack Spark控制台

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
“开源”vs“商业”,差别到底有多大?这篇测试一目了然
近些年来在数据分析领域,涌现出很多开源的技术方案,例如Presto、Spark、Impala等。面对多种选择,客户往往会比较困惑、无从下手。此外,MySQL生态非常火热,但对于数据分析类场景,使用此类关系型数据库是否合适呢?阿里云近期,基于常见的开源数据分析产品和数据库与阿里云自研的分析型数据库MySQL版进行了对比性能测试,希望从中能帮你找到答案。具体测试细节,可参见阿里云官网链接。 01、测试标准:TPC-H 本次对比测试,是使用TPC-H标准。TPC-H(商业智能计算测试)是美国交易处理效能委员会(TPC,Transaction Processing Performance Council) 组织制定的用来模拟决策支持类应用的一个测试集。目前在学术界和工业界普遍采用它来评价决策支持技术方面应用的性能。这种商业测试可以全方位评测系
-
下一篇
云计算对应用程序和架构设计的安全影响
云计算对应用程序和架构设计的安全影响 应用安全包含了一个非常复杂和庞大的知识体系:从早期设计和威胁建模去维护 和防护生产应用程序。随着应用程序开发实践的不断进步和采用新的流程、模式和技术,应用安全也在以难以置信的速度发展。云计算是这些进步的最大驱动因素之一, 它会产生相应的压力,使应用安全的状态发生变化,以确保这种进展尽可能安全地继续下去。本篇文章旨为希望在云计算环境中安全的构建和部署应用程序,特别是 PaaS 和 IaaS 的软件开发团队而提出的有助于减少常见安全问题若干建议 一.默认隔离 应用程序可以轻松地在属于自己隔离的云环境中运行,根据提供者的不同,可能是一个单独的虚拟网络(虚拟专有网络VPC),也可能是一个一个单独的账号/子账号。使用账户或者子账户结构可以有助于实现管理平台以及权限的隔离,可以在开通高度限制性的生产账户的同时,开通更广泛的开发账户权限。 二.使用微服务 在云计算中,更容易将不同的服务隔离到不同的服务器/容器中,一方面,不再需要最大化的利用物理服务器,另外一方面,即使在使用较小的计算机节点处理负载时,自动伸缩组也可以确保应用程序的可伸缩性因为每个节点都做得更少,...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS关闭SELinux安全模块
- Windows10,CentOS7,CentOS8安装Nodejs环境
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS8编译安装MySQL8.0.19
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- MySQL数据库在高并发下的优化方案
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Dcoker安装(在线仓库),最新的服务器搭配容器使用
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果