gio-importer-v42 1.4.1.dev0
GrowingIO Importer是GrowingIO CDP平台元数据创建和数据导入工具
Requires Python: >=3.7

# GrowingIO Importer

GrowingIO Importer是GrowingIO CDP平台元数据创建和数据导入工具。

## 入门

有关GrowingIO Importer请访问[GrowingIO官方文档](https://docs.growingio.com/op/developer-manual/toolbox/ )获取帮助。

## 环境依赖

| |1.0|
|----|----|
|Python|3.6|

## 安装

下载工具包GrowingIO Importer,在importer目录下执行脚本sh init.sh完成初始化

## 元数据导入

目前支持如下：

* 创建事件
* 创建事件属性
* 创建用户属性
* 绑定事件与事件属性
* 导出元数据
* 导入元数据

### 使用说明

#### 创建事件

    python3 meta_importer -m create_event \
    --key <事件名> \
    [-n <事件显示名>] \
    [-d <事件描述>] \

|参数|参数说明|
|----|----|
|-m|必选参数，项目名。|
|-k、--key|必选参数，事件名。仅允许大小写英文、数字、以及下划线，并且不能以数字开头，限长30字符|
|-n、--name|可选参数，事件显示名。默认同事件名，限长30字符|
|-d、--desc|可选参数，事件描述，默认为空。若描述中有空格则需要加双引号|

#### 创建事件属性

    python3 meta_importer.py -m create_event_variables \
                             -k <事件名> \
                             -t <事件属性数据类型> \
                             [-n <事件显示名>] \
                             [-d <事件属性描述>] \

|参数|参数说明|
|----|----|
|-m|必选参数，项目名。|
|-k、--key|必选参数，事件名。仅允许大小写英文、数字、以及下划线，并且不能以数字开头，限长30字符|
|-t、--type|必选参数，事件属性数据类型。可选值：string/int/double
|-n、--name|可选参数，事件显示名。默认同事件名，限长30字符|
|-d、--desc|可选参数，事件描述，默认为空。若描述中有空格则需要加双引号|

#### 创建用户属性

    python3 meta_importer.py -m create_user_variables \
                             -k <标识符> \
                             -t <用户属性数据类型> \
                             [-n <用户显示名>] \
                             [-d <用户属性描述>] \

|参数|参数说明|
|----|----|
|-m|必选参数，项目名。|
|-k、--key|必选参数，标识符。仅允许大小写英文、数字、以及下划线，并且不能以数字开头，限长30字符|
|-t、--type|必选参数，可选参数：string/int/date
|-n、--name|可选参数，用户显示名。默认同标识符，限长30字符|
|-d、--desc|可选参数，用户属性描述，默认为空。若描述中有空格则需要加双引号|

#### 绑定事件与事件属性

    python3 meta_importer.py -m bind_event_variables \
                             -k <事件名> \
                             -a <绑定事件属性名> \

|参数|参数说明|
|----|----|
|-m|必选参数，项目名。|
|-k、--key|必选参数，事件名。若事件不存在则创建，否则更新事件|
|-a、--attr|必选参数，绑定事件属性名。多个属性名使用英文逗号分隔(需加单引号或者在特殊符号前加上\)|

#### 导出元数据

    python3 meta_importer.py -m export_meta \
                             -f <文件名> \

|参数|参数说明|
|----|----|
|-m|必选参数，项目名。|
|-f、--file|必选参数，导出文件名|

#### 导入元数据

    python3 meta_importer.py -m import_meta \
                             -f <文件名> \

|参数|参数说明|
|----|----|
|-m|必选参数，项目名。|
|-f、--file|必选参数，导入文件名|

## 数据导入

目前支持如下：

* 用户属性数据导入
* 用户行为数据导入

### 使用说明

#### 用户属性数据导入

    python3 data_importer.py -m  user_variables \
                             -p  文件路径 \
                             -ds 数据源ID \
                             -f  [CSV|TSV|Json] \
                             -d  [True|False] \
                             -qf " \
                             -sep , \
                             -skh \
                             -attr userId,...

|参数|参数说明|
|----|----|
|-m|必填参数. 用户属性数据导入-user_variables|
|-p|必填参数. 需要导入的数据所在的路径|
|-ds|必填参数. 数据源ID|
|-f|可选参数. 导入数据格式,目前支持JSON,CSV,TSV三种格式.默认值:JSON|
|-qf|可选参数. CSV,TSV格式文本限定符.默认值:"|
|-sep|可选参数. CSV,TSV格式文本分割符.默认值:,|
|-skh|可选参数. CSV,TSV格式设置则自动跳过首行,此参数不需要设置值.|
|-attr|可选参数. CSV,TSV格式导入文件的各列按顺序映射到属性名，逗号分隔.userId必须指定(需加单引号或者在特殊符号前加上\)|

#### 用户行为数据导入

    python3 data_importer.py -m  events \
                             -p  文件路径 \
                             -ds 数据源ID \
                             -f  [CSV|TSV|Json] \
                             -d  [True|False] \
                             -qf " \
                             -sep , \
                             -skh \
                             -attr userId,... \
                             -s YYYY-MM-DD \
                             -e YYYY-MM-DD

|参数|参数说明|
|----|----|
|-m|必填参数. 用户行为数据导入-events|
|-p|必填参数. 需要导入的数据所在的路径|
|-ds|必填参数. 数据源ID|
|-s|必选参数. 数据起始时间,导入用户行为数据时指定.格式:YYYY-MM-DD|
|-e|必选参数. 数据结束时间,导入用户行为数据时指定.格式:YYYY-MM-DD|
|-f|可选参数. 导入数据格式,目前支持JSON,CSV,TSV三种格式.默认值:JSON|
|-qf|可选参数. CSV,TSV格式文本限定符.默认值:"|
|-sep|可选参数. CSV,TSV格式文本分割符.默认值:,|
|-skh|可选参数. CSV,TSV格式设置则自动跳过首行,此参数不需要设置值.|
|-attr|可选参数. CSV,TSV格式导入文件的各列按顺序映射到属性名，逗号分隔.userId,event,timestamp必须指定(需加单引号或者在特殊符号前加上\)|

## 数据导入之MYSQL

目前支持如下：

* 用户属性数据导入
* 用户行为数据导入

### 使用说明

#### 用户属性数据导入

    python3 format_importer.py -m  user_variables \
                               -ds 数据源ID \
                               -f  mysql \
                               -db_host  mysql数据库ip \
                               -db_user 客户端用户名 \
                               -db_password 客户端密码 \
                               -db_port 客户端端口号 \
                               -sql sql语句 

|参数|参数说明|
|----|----|
|-m|必填参数. 用户属性数据导入-user_variables|
|-ds|必填参数. 数据源ID|
|-f|必选参数. 导入数据格式,目前支持mysql、hive数据源|
|-db_host|必选参数. mysql数据库ip|
|-db_user|必选参数. 客户端用户名|
|-db_password|必选参数.客户端密码|
|-db_port|必选选参数. 客户端端口号|
|-sql|必选参数. sql语句|

#### 用户行为数据导入

    python3 format_importer.py -m  events \
                               -ds 数据源ID \
                               -f  mysql \
                               -db_host  mysql数据库ip \
                               -db_user 客户端用户名 \
                               -db_password 客户端密码 \
                               -db_port 客户端端口号 \
                               -sql sql语句 \
                               -s YYYY-MM-DD \
                               -e YYYY-MM-DD

|参数|参数说明|
|----|----|
|-m|必填参数. 用户行为数据导入-events|
|-ds|必填参数. 数据源ID|
|-f|必选参数. 导入数据格式,目前支持mysql数据源|
|-db_host|必选参数. mysql数据库ip|
|-db_user|必选参数. 客户端用户名|
|-db_password|必选参数.客户端密码|
|-db_port|必选参数. 客户端端口号|
|-sql|必选参数. sql语句|
|-s|必选参数. 数据起始时间,导入用户行为数据时指定.格式:YYYY-MM-DD|
|-e|必选参数. 数据结束时间,导入用户行为数据时指定.格式:YYYY-MM-DD|

## 数据导入之HIVE

目前支持如下：

* 用户属性数据导入
* 用户行为数据导入

### 使用说明

#### 用户属性数据导入

    python3 format_importer.py -m  user_variables \
                               -ds 数据源ID \
                               -f  hive \
                               -db_host  hive数据库ip \
                               -db_user 客户端用户名 \
                               -db_port 客户端端口号 \
                               -sql sql语句 

|参数|参数说明|
|----|----|
|-m|必填参数. 用户属性数据导入-user_variables|
|-ds|必填参数. 数据源ID|
|-f|必选参数. 导入数据格式,目前支持mysql、hive数据源|
|-db_host|必选参数. hive数据库ip|
|-db_user|必选参数. 客户端用户名|
|-db_port|必选选参数. 客户端端口号|
|-sql|必选参数. sql语句|

#### 用户行为数据导入

    python3 format_importer.py -m  events \
                               -ds 数据源ID \
                               -f  hive \
                               -db_host  hive数据库ip \
                               -db_user 客户端用户名 \
                               -db_port 客户端端口号 \
                               -sql sql语句 \
                               -s YYYY-MM-DD \
                               -e YYYY-MM-DD

|参数|参数说明|
|----|----|
|-m|必填参数. 用户行为数据导入-events|
|-ds|必填参数. 数据源ID|
|-f|必选参数. 导入数据格式,目前支持mysql、hive数据源|
|-db_host|必选参数. hive数据库ip|
|-db_user|必选参数. 客户端用户名|
|-db_port|必选参数. 客户端端口号|
|-sql|必选参数. sql语句|
|-s|必选参数. 数据起始时间,导入用户行为数据时指定.格式:YYYY-MM-DD|
|-e|必选参数. 数据结束时间,导入用户行为数据时指定.格式:YYYY-MM-DD|

## 用户删除

目前支持如下：

* 触发用户删除任务
* 批量添加待删除用户

### 使用说明

#### 触发用户删除任务

    python3 clear_user.py -m clear_users  -n True 

|参数|参数说明|
|----|----|
|-m|必填参数. 触发用户删除任务-clear_users |
|-n|必填参数. True - 立即执行离线任务,False - 天任务执行清理任务|

#### 批量添加待删除用户

    python3 clear_user.py -m clear_users_meta -u xxx,xxx,xxx

|参数|参数说明|
|----|----|
|-m|必填参数. 批量添加待删除用户-clear_users_meta|
|-u|必填参数. 添加待删除用户,多个用户以逗号(,)分隔|