自动化系列(一)Tableau自动化
Tableau是优秀的可视化分析软件,对于企业来说,可以购买Tableau Server实现线上数据自动化。但是如果只限于某个分析小组内部使用,高昂的价格是很好的劝退条件。而客户端软件在某宝上的价格就显得亲民很多,那有没有什么曲线的方法实现数据自动化呢。
答案是有的,通过Tableau连接MySQL数据库就可以很好的实现数据自动更新,而把Hive集群数据写入MySQL在前面的Python案例则已经做过详细的分享了。
⚠️注意:实践证明,Tableau本地客户端无法正常连接到Hive集群(Tableau Server是可以的)。也有可能是我没找到正确的方式,如果有了解的大佬,还不吝赐教哈~
MySQL配置
-
下载驱动
- 下载安装MySQL官方ODBC驱动(建议下载5.3.14版本):mysql官方odbc驱动
- 下载安装iODBC驱动(注意选择匹配当前的系统版本):iodbc
-
配置环境
-
进入
/usr/local/mysql-connector-odbc-5.3.14-macos10.14-x86-64bit/lib/
,复制如下两个文件 -
进入
/Library/ODBC/
,将上述两个文件复制进去 -
打开
/Library/ODBC/
下的odbcinst.ini文件,将相关driver的路径改为/Library/ODBC/*.so即可 -
打开iodbc程序(安装iODBC驱动后出现在启动台里),点击system DSN,新增mysql配置参数(选择unicode driver,避免中文乱码)
-
填写dsn(test),服务器地址(本地地址为127.0.0.1,填localhoost有问题),端口(默认3306),使用的数据库(自带的performance_schema)
-
点选新增的配置test,点击Test按钮,填写用户名密码,测试连接是否成功,成功则会出现最后截图
-
Tableau连接
配置好MySQL后,Tableau就可以正常连接到MySQL了,这里以本地数据库为例。
⚠️注意:企业的MySQL数据库一般会要求权限,所以建议请DBA或者数仓的同学帮忙进行域名解析以支持外网访问。
- 选择服务器-MySQL,常规中填写服务器,端口,用户名和密码
- 进入后选择数据库,将所需的表拖至右边即可
当成功完成数据连接以后,可以自定义SQL查询数据,也可以直接使用整张表的数据。然后可以在Tableau里开发报表,形成固定模版了。后续只需要通过调度系统或者定时脚本完成数据自动写入MySQL即可。
由于Windows的MySQL配置与MAC的差异较大,这里也做一下介绍
下载驱动
下载安装MySQL官方ODBC驱动(建议下载5.3.14版本):mysql官方odbc驱动
配置环境
- 点击我的电脑,右键属性,依次点击控制面板主页-大图标-管理工具-ODBC数据源(64位)-用户DSN-添加-MySQL ODBC 5.3 Unicode Driver【下图1-5】
- 输入DSN,服务器地址,port,用户名,密码,点击测试
总结
通过调度系统或定时脚本实现MySQL的定期写入,通过Tableau连接MySQL实现数据定期更新。是不是感觉很熟悉,没错,这就是一个简单的、低成本的本地报表系统。