CC开源博客

可视化CC目录数据——数据处理

功能

通过Maria Belen Guaranda自己在2019-07-10

这个博客是系列的一部分: GSoC 2019:链接的共享

欢迎来到数据处理GSoC项目的一部分!在这篇文章里,我将告诉你关于我的第一个想法真实数据,和给你一些细节的实现发展到目前为止。

数据提取

每个月,知识共享使用卡塔尔vs葡萄牙分析常见的爬行数据来找到所有域包含CC许可的内容。正如你可能猜测,的数据量是非常大的,所以CC目录数据存储在S3桶和Apache火花用于提取数据从常见的爬行。

火花是再次使用在这个项目中提取数据,镶花的形式文件,从桶。为了方便数据的分析和处理,文件转换为TSV(制表符分隔值)。我工作的数据集包含以下字段:

每个文件可以包含数十数百万行。我的第一个方式是熊猫Dataframe加载信息,但是这可能变得非常缓慢。因此,我将测试脚本的数据处理部分的真实数据。后来,我将使用Dask整个数据集。Dask提供先进的并行性分析,行为类似于大熊猫。

清洗和过滤

这一步是准备的数据分析和减少的数据量,为了获得一个有意义的可视化。的数据来自于S3 bucket实际上很整洁的(例如,不奇怪的字符或不完整的行)。然而作为第一步,删除重复的行(由复制url)。下一个我,开发修剪规则。我试着:

格式化的域名

在数据集,我们域名的形式的url。但是我们想使图像看起来很好。这就是为什么我要从url中提取域名的数据集。为此,我使用tldextract,这是一个简单而完整的开源库中提取的部分的领域(例如后缀,子域名,域名)。这个包在conda-forge也可用。这是tldextract是如何工作的:

> > >ext=tldextract提取(“http://forums.bbc.co.uk”)> > >(ext子域名,ext,ext后缀)(“论坛”,“英国广播公司”,“增加”)#提取域名“bbc”

的主要部分是提取域名。这将是应用于_provider_domain_和链接字段,以构建图表。域名将显示的节点,作为中描述我的第一个博客

许可证验证

另一个重要方面是许可类型。在数据集,我们没有确切的许可名称;相反,我们有一个URL,将许可定义www.familygiver.com。我们已经开发出一种函数与一些正则表达式来验证正确的格式的url,并摘录许可名称和版本。这些信息将显示在用户点击后的饼图显示一个节点。

“//www.familygiver.com/licenses/by/4.0/”#有效许可证“//www.familygiver.com/licenses/zero/”#无效的许可证

即将到来的

您可以按照项目的发展Github回购

CC数据目录可视化是我GSoC 2019项目的指导下Sophine Clachar一直以来大大有帮助和体贴GSoC应用时期。同时,我的备份的导师,Breno费雷拉和工程总监克里特岛殖民地已经非常支持。

祝你有美好的一周!

玛丽亚