跳转至
开发版采用单机部署,无需产品 License 文件。需要多机部署或大规模性能测试? 了解企业版

HDFS 配置

本文介绍从 HDFS 数据源导入数据的配置项。关于完整配置文件和配置项的信息,请参见数据导入配置。

数据源配置

下表列出了 HDFS 数据源特定的配置项。

选项 描述 类型 是否必选 默认值
type 数据源的类型。设置为"hdfs"。 String 是 无
format 源数据的文件格式。有效值为"csv"、"json"、"orc"和"parquet"。 String 否 "csv"
header CSV 文件是否包含表头。仅当format设置为"csv"时生效。若 CSV 文件不含表头,在配置 HDFS 数据与图元素的映射时,必须使用格式_cX指定列名。例如,_c0表示第一列,_c1表示第二列,以此类推。 Bool 否 false
separator CSV 文件中使用的分隔符。仅当format设置为"csv"时生效。 String 否 ","
path HDFS 中源数据的路径。
路径可以指定目录或文件,使用前缀hdfs://加上源数据路径。
String 是 无

通用源配置

下列配置项也可以作为全局设置在配置文件的sourcesCommon一节指定:

  • type
  • format
  • header
  • separator

请注意,针对特定数据源的配置会覆盖全局设置。

数据源配置示例

HDFS 源配置
sources: [
  {
    type:"hdfs"
    format:"csv"
    header:false
    separator:","
    path: "hdfs://127.0.0.1:9000/import_movie/sub_actor.csv"
//    nodetypes: []
//    edgetypes: []
  }
]  

完整配置示例

将<current-password>替换为登录账号的当前密码。若已修改密码,请使用修改后的密码。

{
  taskType: import
  nebula: {
    graphAddr: "127.0.0.1:9669"
    graphName: "movie"
    user: "root"
    passwd: "<current-password>"
  }

  error: {
    path: "/tmp/errors"
    maxRecords: 10000
  }

  checkPoint: {
    path: "/tmp/checkpoint"
    resume: false
  } 

  sourcesCommon:{
    type:"hdfs"
    format: "csv"
    header:true
    separator:","
  }

  writeCommon:{
    batchSize: 2000
    enableRealTimeQPSLog: true
    mode: "INSERT IGNORE"
  }

  sources: [
    # node type Actor
    {
      path: "hdfs://127.0.0.1:9000/import_movie/sub_actor.csv"
      pre_processes: {
          filter: ["birth_date!='\\N'"]
          concatConstant: [
            {
              field: "name"
              prefixValue: "test_"
              suffixValue: ""
            }
          ]
      }
      nodetypes: [
        {
          name: "Actor"
          sourceFields: [people_id,name,birth_date]
          nebulaFields: [id,name,birthDate]
        }
      ]
    }
    # node type Movie
    {
      path: "hdfs://127.0.0.1:9000/import_movie/sub_movie.csv"
      nodetypes: [
        {
          name: "Movie"
          sourceFields: [movie_id,name]
          nebulaFields: [id,name]
        }
      ]
    }
   # edge type Act
    {
      path: "hdfs://127.0.0.1:9000/import_movie/sub_actor_act_movie.csv"
      edgetypes: [
        {
          name: "Act"
          sourceKeys: [people_id]
          nebulaSrcKeys: [id]
          targetKeys: [movie_id]
          nebulaDstKeys: [id]
          sourceFields: []
          nebulaFields: []
        }
      ]
    }

  ]
}