Menu

Configuration

Pig uses the "hdfs" configuration. It also declare 2 optional properties:

  • hdp.force_check (string) Force the execution of the check action on each run, otherwise it will run only on the first install. The property is shared by multiple modules and default to false.
  • pig.user (object|string) The Unix Pig login name or a user object (see Nikita User documentation).
  • hdp.pig.conf_dir (string) The Pig configuration directory, dont overwrite, default to "/etc/pig/conf".

Example:

{
  "ryba": {
    "pig": {
      "config": {
        "pig.cachedbag.memusage": "0.1",
        "pig.skewedjoin.reduce.memusage", "0.3"
      }
    },
    force_check: true
  }
}
module.exports = (service) ->
  options = service.options

Identities

  # Group
  options.group ?= {}
  options.group = name: options.group if typeof options.group is 'string'
  options.group.name ?= 'pig'
  options.group.system ?= true
  # User
  options.user ?= {}
  options.user = name: options.user if typeof options.user is 'string'
  options.user.name ?= 'pig'
  options.user.system ?= true
  options.user.gid ?= 'pig'
  options.user.comment ?= 'Pig User'
  options.user.home ?= '/var/lib/pig'

Kerberos

  # Kerberos Test Principal
  options.test_krb5_user ?= service.deps.test_user.options.krb5.user

Environment

  # Layout
  options.conf_dir ?= '/etc/pig/conf'
  # Java
  options.java_home ?= service.deps.java.options.java_home
  # Misc
  options.hostname ?= service.node.hostname

Configuration

  options.config ?= {}

Test

  options.test = merge {}, service.deps.test_user.options, options.test

Wait

  options.wait_yarn_rm = service.deps.yarn_rm[0].options.wait
  options.wait_hive_hcatalog = service.deps.hive_client.options.wait_hive_hcatalog

Dependencies

{merge} = require '@nikitajs/core/lib/misc'