开发者社区> 云hbase+spark> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Dataworks同步数据到X-pack Spark

简介:
+关注继续查看

简介

本文主要介绍如何通过“Dataworks->数据集成->离线同步”把数据同步到X-pack Spark的hdfs上。同步数据到X-pack的hdfs后,就可以使用X-pack Spark对数据进行分析。
本例通过把Dataworks的一张表同步到X-pack Spark的hadfs为例,介绍如何同步数据。

前置条件

  1. X-pack Spark集群已经开通hdfs端口。需要联系X-pack Spark维护人员:“云X-Pack Spark答疑” 开通。

操作步骤

在Dataworks中创建“独享数据集成资源组”

X-pack Spark的hdfs是在VPC内,Dataworks要求一定要使用“独享数据集成资源组”才可以同步数据。
假设创建的“独享数据集成资源组”的名称为:test_cluster,如下图:
image
注意:可用区应要选择和X-pack Spark一样的可用区
独享数据集成资源组的创建详细指导请参考Dataworks官方文档:“独享资源组

对“独享数据集成资源组”进行“专有网络绑定”

创建完“独享数据集成资源组”之后需要对其操作“专有网络绑定”,如下图:
image
注意:“专有网络” 一定要选择和X-pack Spark相同的专有网络。 “交换机”和“安全组”建议选择和X-pack Spark相同的。(本例选择相同的)

在“X-pack Spark”中配置Dataworks的白名单。

需要在X-pack Spark中配置Dataworks的白名单,Dataworks才能访问到X-pack Spark。
打开上一步骤中绑定的“交换机”, 查看交换机的“IPv4网段”, 把“IPv4网段”对应的IP断添加到X-pack Spark的白名单中。
image

配置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。 如下图:
image

在Dataworks中运行查看效果。

配置完毕后点击“运行”,等待运行成功。然后查询X-pack Spark的hdfs中是否有文件写入,当出现如下文件时,说明写入成功:
image
如何查看X-pack Spark hdfs文件,请参考:Spark控制台

小结

数据同步到X-pack Spark hdfs 后可以同步X-pack Spark 控制分析hdfs的数据了。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
DataWorks:下一代智能数据工场
2017云栖大会dataworks专场,数加平台&DataWorks研发负责人王贲带来dataworks的演讲。主要讲了dataworks缘起何处,进而讲解了数据集成和数据研发,着重介绍了数据治理,最后作了简要总结。
3793 0
下一代智能数据工厂,阿里云发布全新DataWorks
大数据的开发能力已经成为企业的核心竞争力之一, 企业对数据资产的管理、加工、利用的诉求也越来越强烈。 9月5日,阿里云发布了DataWorks V2版本, 可提升数据开发的效率并简化数据操作,为企业提供了安全可靠的一站式大数据智能云研发平台。
2904 0
基于MaxCompute/Dataworks实现数据仓库管理与全链路数据体系
前言   就这样,大数据领域蓬勃发展了好几年,有很多伙伴执迷于技术,成为了分布式计算与存储的领域专家。也有很多伙伴执迷于数据,成为了行业的数据研发专家。当然还有很多小伙伴,热衷于工具系统开发,成为了数据技术专家。
1708 0
DataWorks数据保护伞功能开启商业化
DataWorks数据保护伞功能将于2020年1月10日开启商业化,根据DataWorks目前增值版本的分级,数据保护伞也将提供不同的功能,您可以根据自身的业务场景,选择最合适的版本进行购买。
1348 0
基于Dataworks的大数据一站式开发及数据治理
基于Dataworks做大数据一站式开发,包含数据实时采集到kafka通过实时计算对数据进行ETL写入HDFS,使用Hive进行数据分析。通过Dataworks进行数据治理,数据地图查看数据信息和血缘关系,数据质量监控异常和报警。
0 0
DataWorks OpenAPI 实战-数据开发全流程介绍
DataWorks作为飞天大数据平台操作系统,历经11年发展,形成了涵盖数据集成、数据开发、数据治理、数据服务的一站式大数据开发治理平台。很多企业用户在使用产品的过程中希望他们的本地服务能够和阿里云上的DataWorks服务进行交互,从而提升企业大数据处理的效率,减少人工操作和运维工作,降低数据风险和企业成本,现在DataWorks开放OpenAPI能力满足企业的定制化需求。
0 0
DataWorks的数据开发
DataWorks的数据开发
0 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
spark替代HIVE实现ETL作业
立即下载
云HBaseSQL及分析 ——Phoenix&Spark
立即下载
阿里云分析引擎Spark On 多数据源介绍
立即下载