【Elasticsearch】再也不愁没有数据联系ES了

目录

本系列正在更新,点击下方查看

前言

由于ES查询操作需要基于若干数据,所以我们需要一个数据集来做对应操作的使用案例。

IMDb Datasets则是一个非常完美的数据库,只要满足

  • 个人非商用
  • 不改变数据

就可以。

所以我们基于IMDb Datasets使用python3导入ES,作为数据查询的原始数据集。

本系列相关代码文件地址 https://codechina.csdn.net/diandianxiyu/elasticsearch-imdb-es

下载数据文件

访问 https://www.imdb.com/interfaces/ 下载数据文件。

这里我用的是title.akas.tsv.gz

  • titleId (string) - a tconst, an alphanumeric unique identifier of the title
  • ordering (integer) – a number to uniquely identify rows for a given titleId
  • title (string) – the localized title
  • region (string) - the region for this version of the title
  • language (string) - the language of the title
  • types (array) - Enumerated set of attributes for this alternative title. One or more of the following: “alternative”, “dvd”, “festival”, “tv”, “video”, “working”, “original”, “imdbDisplay”. New values may be added in the future without warning
  • attributes (array) - Additional terms to describe this alternative title, not enumerated
    isOriginalTitle (boolean) – 0: not original title; 1: original title

对应下载地址为 https://datasets.imdbws.com/title.akas.tsv.gz

下载文件格式为tsv

数据文件为每天更新,目前文件大小为1.2G

在这里插入图片描述

读取文件

import csv

def read_from_tsv(file_path: str, column_names: list) -> list:
    csv.register_dialect('tsv_dialect', delimiter='\t', quoting=csv.QUOTE_ALL)
    with open(file_path, "r") as wf:
        reader = csv.DictReader(wf, fieldnames=column_names, dialect='tsv_dialect')
        datas = []
        for row in reader:
            data = dict(row)
            print(data)
            datas.append(data)
    csv.unregister_dialect('tsv_dialect')
    return datas


if __name__ == "__main__":
    read_from_tsv('title.akas.tsv',['titleId','ordering','title','region','language','types','attributes','isOriginalTitle']);

打印数据如下

{'titleId': 'tt0009415', 'ordering': '1', 'title': 'Das Mädel vom Ballet', 'region': '\\N', 'language': '\\N', 'types': 'original', 'attributes': '\\N', 'isOriginalTitle': '1'}
{'titleId': 'tt0009415', 'ordering': '2', 'title': 'A kis balettpatkány', 'region': 'HU', 'language': '\\N', 'types': 'imdbDisplay', 'attributes': '\\N', 'isOriginalTitle': '0'}
{'titleId': 'tt0009415', 'ordering': '3', 'title': 'The Ballet Girl', 'region': 'XWW', 'language': 'en', 'types': 'imdbDisplay', 'attributes': '\\N', 'isOriginalTitle': '0'}
{'titleId': 'tt0009415', 'ordering': '4', 'title': 'Frk. Letpaataa', 'region': 'DK', 'language': '\\N', 'types': 'imdbDisplay', 'attributes': '\\N', 'isOriginalTitle': '0'}
{'titleId': 'tt0009415', 'ordering': '5', 'title': 'La ragazza del balletto', 'region': 'IT', 'language': '\\N', 'types': '\\N', 'attributes': '\\N', 'isOriginalTitle': '0'}
{'titleId': 'tt0009415', 'ordering': '6', 'title': 'Das Mädel vom Ballet', 'region': 'DE', 'language': '\\N', 'types': '\\N', 'attributes': '\\N', 'isOriginalTitle': '0'}
{'titleId': 'tt0009415', 'ordering': '7', 'title': 'La bailarina del antifaz', 'region': 'ES', 'language': '\\N', 'types': '\\N', 'attributes': '\\N', 'isOriginalTitle': '0'}
{'titleId': 'tt0009415', 'ordering': '8', 'title': 'The Ballet Girl', 'region': '\\N', 'language': '\\N', 'types': '\\N', 'attributes': '\\N', 'isOriginalTitle': '0'}
{'titleId': 'tt0009415', 'ordering': '9', 'title': 'The Ballet Girl', 'region': 'US', 'language': '\\N', 'types': 'imdbDisplay', 'attributes': '\\N', 'isOriginalTitle': '0'}
{'titleId': 'tt0009416', 'ordering': '1', 'title': 'Den bestøvlede Kat', 'region': 'DK', 'language': '\\N', 'types': 'imdbDisplay', 'attributes': '\\N', 'isOriginalTitle': '0'}
{'titleId': 'tt0009416', 'ordering': '2', 'title': 'Mästerkatten i stövlar', 'region': '\\N', 'language': '\\N', 'types': 'original', 'attributes': '\\N', 'isOriginalTitle': '1'}

参考资料

  • https://www.imdb.com/interfaces/
  • https://docs.python.org/3/library/csv.html
雨果虾滑猫 CSDN认证博客专家 PHP MySQL Python
CSDN博客专家。PHP/MYSQL/Elasticsearch,PMP项目管理 ,产品设计。6年服务端开发,2年产品,连续创业者,曾经参与区块链、新零售行业创业。Gitchat作者,曾在Gitcchat发布智能合约相关课程。
相关推荐
©️2020 CSDN 皮肤主题: 博客之星2020 设计师:CY__ 返回首页
实付 19.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值