在项目中,我想很多人都会有各种数据导出,在构建数据仓库 ETL 报表分析系统的过程中,从不同数据源大量的数据同步,关联数据处理,不要太繁琐烦人。
https://github.com/snower/syncany
支持特性:
数据同步完成后,我想 kibana、superset、Grafana 都是很不错易于使用的图表系统了,直接写入 Execl 也可以大幅解放烦琐的数据导出需求。
简单导出规则示例:
{
"extends": ["json/database.json", "json/log.json"],
"name": "user_order",
"input": "&.mysql_order.user_order::order_id",
"output": "&.exports.用户订单.xlsx#订单列表::订单号",
"querys": {
"order_at|datetime": [">=", "<"]
},
"schema": {
"订单号": "$.order_id",
"用户 ID": "$.uid",
"用户名": ["$.uid|ObjectId", "&.mongo_user.user::_id", "$.username"],
"用户昵称": ["$.uid|ObjectId", "&.mongo_user.user::_id", "$.nickname"],
"订单类型": {
"name": "case_valuer",
"key": "order_type",
"case": {
"groupbuy": "团购订单"
},
"default_case": "普通订单"
},
"订单金额(元)": ["@div", "$.total_fee", 100],
"订单状态": ["$.status", "&.json.status.json::status", "$.verbose_name"],
"下单时间": "$.order_at|datetime %Y-%m-%d %H:%M:%S"
}
}
也可看详细 demo 示例: https://github.com/snower/syncany/tree/master/examples/demo