您的位置:首页 > 大数据

大数据的弄潮儿:阿里产品dataX和ODPS的使用方法

2017-09-28 09:32 405 查看
众所周知,原始的数据仓库存在着“存不了,装不下,算不动”的三大严重问题,为了解决越来越多的数据量和越来越繁杂的数据关系,大数据应运而生。在大数据云时代来临之际,掌握了完美的数据处理工具,譬如hadoop,oracle,ogg这些必将会给你带来不错的收益,而今天我们着重讲一下阿里的两大产品dataX和ODPS。

********************************************************dataX********************************************************

dataX是阿里数据上云的一个工具,支持本地传本地,本地上云,它完美的连接了各个不同的数据系统,譬如oracle,mysql,sqlserver,甚至本地文件等,它有三个系统组成:读:读取源端数据,处理:把源端的数据进行处理并送到写目标端,写:把源端的数据写到目标端。支持是否写,支持更改读取写入速度,读取写入大小等等

由于它支持从oracle写到mysql,oracle写到云,本地写到oracle等等,但是其原理是相似的,故今天我们只举一个栗子:从oracle上云到odps

工具准备:

1,linux或者windows系统

2,jdk 1.8

3,python 推荐2.0,这里多说一句,目前python是趋势,想学python的小伙伴推荐从3学起,如果你以前从未接触过python的话,东西就学新的嘛!

下载dataX:

dataX下载地址:http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz

目前有两种处理方法,一种是直接使用,一种是更改它的源码使用,当然,我们大多数人直接使用就可以了
下载dataX到本地某一目录,并给该目录下的文件都赋予可执行权限。

# tar zxvf datax.tar.gz

# sudo chmod -R 755 {YOUR_DATAX_HOME}

测试下dataX是否可用,进入到bin目录,并执行自带的json文件
# cd  {YOUR_DATAX_HOME}/bin

# python datax.py ../job/job.json

如果显示结果如下面,则证明dataX可用



ok,搞定完之后,现在我们开始配置上云用的json文件
                                          
{
"job": {
"content":[
{
"reader":{
"name":"${streamreader}",       #这个名字是reader的标识,任意取#
"parameter":{
"column":[
{"value": "DataX",
"type": "string"
},
{
"value": "rq",
"type": "datetime"
"foramt":"yyyy-mm-dd  hh:mm:ss"
},
"name" ],                 #列名,可以指定每一个列的类型格式,也可以直接写列名
"splitPk": "${splitPk}",  #主键,方便拆分上传,加快效率
"connection":[
{
"jdbcUrl":["jdbc:oracle:thin:@[HOST_NAME]:PORT:[DATABASE_NAME]"},
"table":["table_name"]
}
],
"fetchSize":1024,
"password":"$pass",
"username":"$user",
"where":"${swhere}",
"mandatoryEncoding":"UTF-8"
}
},
"writer":{
"name":"odpswriter",
"parameter":{
"accessId":"$odpsaccessId",
"accessKey":"$odpsaccessKey",
"accountType":"aliyun",
"column":[${targetSelect}],  #写的时候列与列之间是一一对应的
"odpsServer":"${odpsServer}",
"partition":"rfq=$bizdate",
"project":"$project",
"table":"${odpsTable}",
"truncate": "true"
}
}
}
],
"setting":{
"errorLimit":{
"record":0
},
"speed":{
"channel":2
}
}
}
}
配置好之后,就可以在bin 下,直接运行dataX了,然后上到odps查验。要记住运行之前要保证odps端已经建好的有表,且表结构和字段类型符合odps的转换规则
#   python datax.py  ./xxxx.json

实际情况,很多数据库的表会非常多,一个表一个表的配json会非常麻烦和不实用,所以可以使用shell脚本批量生成,这个shell脚本大家可以找程序大牛去按照这个json配置文件去写,此外odps的原理和使用我后续再传上来
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐