做金融风控数据分析hive,mysql等

简介

我们在做金融数据分析时候,往往会遇到这样的困惑,部分数据源位于mysql,部分数据源位于hive,部分数据位于sqlserver…数据分析时对于这样的跨数据源的多数据源表的join等操作往往十分苦恼,这种情况下,将数据导成csv,txt等低效的交互方式往往是不可取的。针对这样的跨数据源多表join操作行为,本文介绍来那个中间那个简单的实现方式。

1.利用pythonpandas

Python有相应的接口可以连接mysql,hive等数据源,并将结果转化成dataframe,在dataframe中进行相应的操作。

具体如下:

可以通过下列代码连接mysql

python连接hive,并转成pandasdataframe

读取hive表代码如下

通过上述方法就可以获取mysql以及hive表对应的pandasdataframe,通过dataframe就可以做相应的多表操作了

2.利用spark连接mysql和hive进行操作

通过python连接mysql和hive的一个缺点是,依赖单台服务器,如果表特别大的话往往会导致集群资源不够,同时python分别连接mysql和hive得到的dataframedf1和df2之间不能灵活的进行sql语法操作,下面介绍一种更加强大的跨数据库数据表的多表操作方法:利用spark连接不同的数据仓库,并创建临时表进行操作。

具体方法如下:

spark连接hive

如果spark安装顺利的话,在cdh集群下,spark是可以直接脸上hive表的,这时候hive表和创建的临时表table_test做操作,具体如下:

总结

面对数据源位于mysql,hive等多个数据仓库的情况,往往用pythonpandas和sparksql都可以实现跨仓库级别的操作,但是如果资源允许的话,sparksql往往可以起到更好的效果,可以直接进行表级别的join操作,不用通过dataframe周转。




转载请注明:http://www.aierlanlan.com/tzrz/2059.html