Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2002163
  • 博文数量: 148
  • 博客积分: 7697
  • 博客等级: 少将
  • 技术积分: 3071
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-10 23:04
个人简介

MiBDP,数据开发、项目团队、数据应用和产品在路上,金融保险、互联网网游、电商、新零售行业、大数据和AI在路上。对数仓、模型、ETL、数据产品应用了解。DTCC 2013演讲嘉宾,曾做过两款大获好评的数据产品平台。知识星球ID:35863277

文章分类
文章存档

2020年(1)

2019年(2)

2017年(2)

2016年(5)

2015年(1)

2014年(1)

2013年(6)

2012年(5)

2011年(24)

2010年(28)

2009年(1)

2008年(6)

2007年(30)

2006年(36)

分类: IT业界

2016-10-25 10:17:02

author by:云开_sky
caravel原始的元数据库是使用的sqlite,用sqlite最大的一个问题就是时区的问题,她默认是格林威治时区比北京时间晚8个小时,用它的话很多地方都得通过localtime转换,还有就是比较“小众”性能与维护可能不是很fashion。此外需要注意的是caravel默认初始化数据库时是把sqlite库建到/tmp目录下,这样的话重启机器会导致数据丢失(希望引起大家的注意)。

如果使用sqlite的话,建议重新设置数据库安装目录,对sqlite数据库最好每隔一段时间进行备份(依据使用频率可以按天、按小时进行备份)

sqlite3 $caravel/caravel.db  .dump > caravel_backup.sql

重新设置sqlite安装目录或者迁移到其他数据库上,Caravel 0.11.0版可以通过修改配置文件/usr/local/lib/python3.5/dist-packages/caravel/config.py 或者在python环境变量下创建caravel_config.py指定
如下是修改的config.py配置文件(自定义caravel_config文件跟一个基本一样)
# The SQLAlchemy connection string.
# SQLALCHEMY_DATABASE_URI = 'sqlite:////home/sky/caravel.db'
SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://sky:mypassword@localhost:3306/caravel?charset=utf8
#mysql+pymysql是为了兼容python2.7与python3,其实在使用caravel添加mysql数据源时也是这样写
# SQLALCHEMY_DATABASE_URI = 'postgresql://root:password@localhost/myapp'

本地如果创建好了caravel数据库的话,修改完配置文件,caravel元数据库就会切换到mysql了,只是我们需要把原来的sqlite的一些信息迁移过来。
迁移的话可以直接使用备份的caravel_back.sql,逐个执行里面的语句。注意caravel原始sqlite库里的表,每个都有主键id是自增的,所以迁移到mysql之后,也需要把id都设置成自增。

caravel元数据库主要有以下这些表:
 




阅读(3548) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~