数据可视化如何使用 BigQuery与 Data Studio 生成经纬度分析

数据可视化如何使用 BigQuery与 Data Studio 生成经纬度分析

当用户从互联网访问网站时,后端服务器收到流量后,负载均衡会自动将HTTP请求的日志记录到Cloud Logging中,用户可以在GCP控制台的日志查看器中查看记录。 要分析大量数据,需要将数据导出到BigQuery以进行进一步的数据探索。

地理资讯系统_地理资讯_地理资讯是什么/

日志查看器可以浏览所有HTTP请求记录

地理资讯是什么_地理资讯_地理资讯系统/

展开其中一条IP记录后,可以看到更详细的记录内容。

2.将日志导出到BigQuery

接下来,将 HTTP 请求从日志查看器导入 BigQuery。 通过创建接收器(sink),当负载均衡接收到新的访问时,接收器会将日志发送到指定的BigQuery数据集进行存储。

用户需要在BigQuery中预先构建数据集作为接收者的目的地。

当接收方收到数据时,BigQuery会生成一个数据表来存储日志记录,用户可以通过BigQuery的SQL语法分析数据表的内容。

然而,要做到这一点,我们没有办法直接分析HTTP请求数据的地理位置。 原因是我们的ip地址数据还没有转换,所以我们需要通过GCP外部工具来分析数据。

3. 分析IP地址

将IP地址转换为经纬度数据

首先我们先添加一个GCP虚拟机

在其中,可以安装用户喜欢的编程语言,然后可以从BigQuery中提取日志数据进行分析。 在执行分析程序之前,我们需要先安装BigQuery API Client Library,以便程序可以直接从BigQuery访问数据; 然后,我们可以使用第三方地理信息转换工具(如:ipstack API)来让程序对导入的ip数据进行转换。

在使用ipstack API之前,您需要在官网注册并获取API Access Key。 (您可以申请免费使用进行测试)

第二步安装ipstack库

(该库的使用方法请参考文档)

pip install ipstack

 

第三步,执行Python程序调用API,将IP地址发送给API进行分析,获取经纬度数据。

from ipstack import GeoLookup 
geo_lookup = GeoLookup("你的 API KEY") 
def parsing(ip_address): 
 location = geo_lookup.get_location(ip_address) 
 lat_long = str(location["latitude"])+","+ \ 
 str(location["longitude"]) 
 return lat_long

 

当程序将ip地址的数据发送给API时,API会将ip对应的地理信息返回给程序。

在示例程序中,API将返回json格式的数据。 为了检索经纬度,我在程序中指定API只会返回整理好的经纬度数据。

lat_long = str(location["latitude"])+","+ \ str(location["longitude"]) 
return lat_long

 

获取经纬度数据的目的是为了在地理图表中进行定位分析。 所以需要通过调用API进行转换。

转换后的经纬度数据必须合并在一个字段中,并且必须按照先纬后经的顺序排列(示例程序中已经完成合并),因为地理信息字段的格式必须符合数据工作室经度和纬度数据格式。 格式要求。

最后,以编程方式将数据从虚拟机传递回 BigQuery(也使用 BigQuery 的客户端库返回)会生成一个包含纬度和经度数据的新表。

4. 生成地理图表

如果我们想要将BigQuery的地理数据可视化,我们可以使用Google的可视化报告生成工具Data Studio来完成。 因为我们已经有了转换后的经纬度数据,只要将数据设置为Data Studio可以识别的字段类型和统计条件,我们就可以在Geo Chart上看到访客的地理分布情况。

将数据导出到 Data Studio

在BigQuery存储地理信息的数据表中,点击导出,直接进入数据洞察界面。

进入Data Studio界面,开始设置我们的地理图表功能。

选择图表类型

从图表中选择气泡图:气泡图可以利用地图中圆圈的大小和数量来呈现地理位置的分布。

设置维度和指标

a.Dimension设置为经纬度的字段名

将经纬度组合字段设置为“维度”,并将该字段的属性更改为“地理 > 纬度,经度”,以便 Data Studio 能够识别。

b. 指标设置为记录计数

Data Studio会利用经纬度地理信息的数量来确定地图中圆圈的大小

完成以上设置后,就可以在Data Studio上生成第一个HTTP Request地理分布图了!

以上就是使用BigQuery结合Data Studio分析经纬度数据的介绍。 如有疑问,请在文章底部留言,共同讨论。

官方网站: