zoukankan      html  css  js  c++  java
  • DataX案例:读取MongoDB的数据导入到HDFS

    读取MongoDB的数据导入到HDFS

    1)编写配置文件

    [jason@hadoop102 datax]$ vim job/mongdb2hdfs.json
    
    {
    
        "job": {
    
            "content": [
    
                {
    
                    "reader": {
    
                        "name": "mongodbreader",
    
                        "parameter": {
    
                            "address": ["127.0.0.1:27017"],
    
                            "collectionName": "jason",
    
                            "column": [
    
                             {
    
                             "name":"name",
    
                             "type":"string"
    
                             },
    
                             {
    
                             "name":"url",
    
                             "type":"string"
    
                             }
    
                            ],
    
                            "dbName": "test",
    
                        }
    
                    },
    
                    "writer": {
    
                        "name": "hdfswriter",
    
                        "parameter": {
    
                            "column": [
    
                             {
    
                             "name":"name",
    
                             "type":"string"
    
                             },
    
                             {
    
                             "name":"url",
    
                             "type":"string"
    
                             }
    
                            ],
    
                            "defaultFS": "hdfs://hadoop102:9000",
    
                            "fieldDelimiter": "	",
    
                            "fileName": "mongo.txt",
    
                            "fileType": "text",
    
                            "path": "/",
    
                            "writeMode": "append"
    
                        }
    
                    }
    
                }
    
            ],
    
            "setting": {
    
                "speed": {
    
                    "channel": "1"
    
                }
    
            }
    
        }
    
    }

    2mongodbreader参数解析

    addressMongoDB的数据地址信息,因为MonogDB可能是个集群,则ip端口信息需要以Json数组的形式给出。【必填】

    userNameMongoDB的用户名。【选填】

    userPasswordMongoDB的密码。【选填】

    collectionNameMonogoDB的集合名。【必填】

    columnMongoDB的文档列名。【必填】

    nameColumn的名字。【必填】

    typeColumn的类型。【选填】

    splitter:因为MongoDB支持数组类型,但是Datax框架本身不支持数组类型,所以mongoDB读出来的数组类型要通过这个分隔符合并成字符串。【选填】

    3)执行

    [jason@hadoop102 datax]$ bin/datax.py job/mongdb2hdfs.json

    4)查看结果

  • 相关阅读:
    第二高的薪水
    leecode 删除排序数组中的重复项
    leecode 17. 电话号码的字母组合
    dubbo 限流之TpsLimitFilter
    G1总结
    leecode 3. 无重复字符的最长子串
    mysql是如何解决脏读、不可重复读、幻读?
    归并排序
    PostgreSQL管理数据库安全
    Oracle Database 19c 技术架构(三)
  • 原文地址:https://www.cnblogs.com/LIAOBO/p/13666834.html
Copyright © 2011-2022 走看看