帮助中心
- 平台介绍
- 接入指引
- 版本信息
- 使用流程
- 功能手册
- 操作视频
- 技术文档
- 基础知识
- 客户端SDK
- 服务端SDK
- 数据导入
- API功能
- SQL手册
- DML
- SQL函数
- 日期函数
- convert_tz
- curdate,current_date
- current_timestamp
- curtime,current_time
- date_add
- date_format
- date_sub
- datediff
- day
- dayname
- dayofmonth
- dayofweek
- dayofyear
- from_days
- from_unixtime
- hour
- makedate
- minute
- month
- monthname
- now
- second
- str_to_date
- time_round
- timediff
- timestampadd
- timestampdiff
- to_date
- to_days
- unix_timestamp
- utc_timestamp
- week
- weekday
- weekofyear
- year
- yearweek
- localtime,localtimestamp
- quarter
- last_day
- extract
- date_trunc
- minutes_add
- minutes_diff
- minutes_sub
- seconds_add
- seconds_diff
- seconds_sub
- hours_add
- hours_diff
- hours_sub
- days_add
- days_diff
- days_sub
- weeks_add
- weeks_diff
- weeks_sub
- months_add
- months_diff
- months_sub
- years_add
- years_diff
- years_sub
- 字符串函数
- append_trailing_char_if_absent
- to_base64
- from_base64
- ascii
- length
- bit_length
- char_length
- lpad
- rpad
- lower
- lcase
- upper
- ucase
- initcap
- repeat
- reverse
- char
- concat
- concat_ws
- substr
- substring
- sub_replace
- ends_with
- starts_with
- trim
- ltrim
- rtrim
- null_or_empty
- not_null_or_empty
- hex
- unhex
- elt
- instr
- locate
- find_in_set
- replace
- left
- right
- strleft
- strright
- split_part
- split_by_string
- substring_index
- money_format
- parse_url
- convert_to
- extract_url_parameter
- uuid
- space
- sleep
- 日期函数
- 数据类型
- 数据管理
- 常见问题
- 合规说明
- 资源下载
- AB测试
dataimporter
一、概述
dataimporter用于将一些符合数据格式的外部数据导入到海纳云分析系统中,目前支持的格式有CSV表格,MySQL数据库,ORACLE数据库,nginx日志,json格式数据。
二、环境要求
1、python环境3.4及以上
2、如需导入数据库数据,需要预先install相应的依赖包
三、下载安装
- 下载 dataimporter工具包:资源下载,解压缩即可使用
四、参数配置
4.1 公共参数
参数名 | 别名 | 是否必填 | 描述 |
---|---|---|---|
–url | -l | 和 output_file 选一个必填 | 数据接收地址 |
–output_file | -O | 和 url 选一个必填 | 输出的文件名,输出每行是一个符合格式的 JSON。 |
–project | -j | 否 | 指定的 project 名,默认是 default |
–skip_cnt | -c | 否 | 第一次运行请忽略,如果运行失败,可以使用此配置指定跳过开头多少行 |
–debug | -D | 否 | 如果指定了就是使用 debug 模式,不会导入数据,只在stdout 显示数据,参见调试模式 |
–quit_on_error | -Q | 否 | 如果选中,则出现一条错误日志就会退出 |
–log_level | -lv | 否 | 日志输出最小等级,默认为 DEBUG |
4.2 event公共参数
参数名 | 别名 | 是否必填 | 描述 |
---|---|---|---|
–account_id_from | -df | 登录状态下(is_login)需要填写 | 指定列作为 account_id |
–anonymous_id_from | 是 | 指定列作为匿名 ID,与 account_id 不能同时为空 | |
–is_login | 否 | 是否登录,默认为否 | |
–event_from | -ef | 和 event_default 选一个必填 | 指定列作为事件名 |
–event_default | -ed | 和 event_from 选一个必填 | 指定固定字符串作为事件名 |
–timestamp_from | -tf | 和 timestamp_default 选一个必填 | 指定列作为 time |
–timestamp_default | -td | 和 timestamp_from 选一个必填 | 指定固定时间字符串作为 time |
–timestamp_format | -tf | 否 | 和 timestamp_from 一起使用,通过此配置指定时间格式。默认是%Y-%m-%d %H:%M:%S |
4.3 profile公共参数
参数名 | 别名 | 是否必填 | 描述 |
---|---|---|---|
–account_id_from | -df | 登录状态下(is_login)需要填写 | 指定列作为 account_id |
–anonymous_id_from | 是 | 指定列作为匿名 ID,与 account_id 不能同时为空 | |
–is_login | 否 | 是否登录,默认为否 |
4.4 signup公共参数
参数名 | 别名 | 是否必填 | 描述 |
---|---|---|---|
–account_id_from | 是 | 指定列作为登录 ID | |
–anonymous_id_from | 是 | 指定列作为匿名 ID |
4.5 csv参数
参数名 | 别名 | 是否必填 | 描述 |
---|---|---|---|
–filename | -f | 是 | CSV 文件路径。 |
–property_list | -pl | 否 | 用逗号分割选取的 property,举例 -p name,time 将会将 name 和 time 两列作为 property 导入。如果不填写则表示全部作为 property 导入。 |
–skip_identify | -i | 否 | 对应的列将不会做自动类型判断,举例配置–skip_identify name,id 后将会对 name 和 id 不做类型判断,完全作为 string 导入。如果不填写则表示全部的选中列都会自动做类型判断。 |
–ignore_value | 否 | 指定某些值为空,比如指定 –ignore_value null 则所有的 null 都被认为是空值。 | |
–csv_delimiter | 否 | CSV 文件的列分隔符,默认为 ‘,’,只接受单字符参数,也可以传 \ + ascii的数字,比如 \9 表示是 \t 。 | |
–csv_quotechar | 否 | CSV 文件的引用字符,用于指定CSV字符串的开始和结尾,默认为 ‘“‘,只接受单字符参数,也可以传 \ + ascii的数字,比如 \9 表示是 \t 。 | |
–csv_prefetch_lines | 否 | CSV 文件预读行数,预读用于判断列的类型,默认为 -1,即预读整个文件。注意如果数据分布不均(比如前几行某个字段没有但是后面有)不要加这个参数。 | |
–file_encoding | 否 | 设置 CSV 文件编码格式,默认为 utf-8。 | |
–list_type | 否 | 指定属性为 list 用逗号分割选取的属性,举例–list_type list_a, list_b 将会将 list_a 和 list_b 两列作为 list 格式导入。list_type:list_a, list_b |
五、命令类型
命令名称 | 描述 |
---|---|
csv_profile | 将 CSV 格式文件转化成用户属性导入 |
csv_event | 将 CSV 格式文件转化成事件导入 |
csv_signup | 将 CSV 格式文件转化成用户关联关系导入 |
六、导入说明
6.1 导入事件
1、准备数据,并检查数据格式
假设有以下 csv 文件描述了上面的示例用户事件 ( 参考代码包下 examples/events.csv ),
注意:导入前请检查用户事件数据格式,增加type(事件类型)列,默认值是track;另外注意时间格式,示例:2023-02-02 12:58:32
account_id | anonymous_id | event | type | time | item_id | item_name | item_cate |
---|---|---|---|---|---|---|---|
ABCDEFG-123-abc | F53A58ED-E5DA-4F18-B082-7E1228746E88 | page_view | track | 2018-05-12 13:01:11 | 13245 | 男士护耳保暖鸭舌皮帽平顶八角帽头层牛皮帽子时尚休闲 | 男装 |
ABCDEFG-456-abc | F53A58ED-E5DA-4F18-B082-7E1228746E99 | click_view_introduction | track | 2018-05-12 13:05:03 | 13245 | 男士护耳保暖鸭舌皮帽平顶八角帽头层牛皮帽子时尚休闲 | 男装 |
ABCDEFG-789-abc | F53A58ED-E5DA-4F18-B082-7E1228746E66 | page_view | track | 2018-05-13 10:20:32 | 23421 | New Order Technique 2CD豪华版 欧版行货 全新未拆 | 音像 |
ABCDEFG-101-abc | F53A58ED-E5DA-4F18-B082-7E1228746E77 | page_view | track | 2018-05-13 20:42:53 | 3442 | NUK安抚奶嘴宝宝防胀气安慰奶嘴乳胶迪士尼安睡型 | 母婴 |
注意:csv表格文件放在哪个目录,对应要配置在脚本的配置文件里;
2、配置脚本文件(.conf脚本文件,事件的配置文件:./conf/csv_event.conf)
配置属性如下所示:
url: http://10.0.70.92:9092/ha?project=yituiAll&token=yt888
account_id_from: account_id
anonymous_id_from: anonymous_id
event_from: event
timestamp_from: time
filename: ./examples/events_new.csv
property_list: item_id,item_name
3、执行导入命令
- 执行导入“事件”命令如下:其中csv_event是命令类型,csv_event.conf是配置信息
python3 data_import.py csv_event @./conf/csv_event.conf
- 执行导入“事件”命令如下:其中csv_event是命令类型,csv_event.conf是配置信息
4、 事件时间限制
导入错误时间的数据,会影响真实数据分析的准确性,因此默认情况下海纳对事件时间进行限制:
使用后端语言 SDK (如 Java、C# 等)或导入工具(如 Datax、dataimporter、Logstash + Filebeat等),需要导入历史数据,需要联系海纳运营人员,开放历史事件数据限制;
6.2 导入用户属性
1、准备数据,并检查数据格式
假设有以下 csv 文件描述了上面的示例用户事件 ( 参考代码包下 examples/profiles.csv ),
注意:导入前请检查用户属性数据格式,增加type(事件类型)列,默认值是user_set;
type | account_id | anonymous_id | user_id | gender | is_member | score |
user_set | 277 | bug29 | 男 | true | 131 | |
user_set | 278 | 小武 | 女 | false |
注意:csv表格文件放在哪个目录,对应要配置在脚本的配置文件里;
2、配置脚本文件(.conf脚本文件)
url: http://localhost:9092/ha?project=yituiAll&token=yt888
account_id_from: account_id
anonymous_id_from: anonymous_id
filename: ./examples/profile.csv
property_list: item_id,item_name
3、执行导入命令
- 执行导入“用户属性”命令如下:其中csv_profile是命令类型,csv_profile.conf是配置信息
python3 data_import.py csv_profile @./conf/csv_profile.conf
- 执行导入“用户属性”命令如下:其中csv_profile是命令类型,csv_profile.conf是配置信息
作者:刘建雄 创建时间:2022-08-05 10:47
最后编辑:邓昊 更新时间:2024-09-05 21:06
最后编辑:邓昊 更新时间:2024-09-05 21:06