脉冲数据抽取器

ist-pulse-data-extractor的Python项目详细描述


脉冲数据抽取器

从脉冲中取出数据的easy-按钮。从下载Pulse文档 Elasticsearch,并将它们保存为.jsonl.json.pickle或{}格式。在

安装

要在现有环境中安装,请运行以下命令

pip install ist-pulse-data-extractor

要定义为项目需求,请将以下行添加到requirements.txt

^{pr2}$

使用

download

对Pulse Elasticsearch索引中的文档执行多进程切片查询。 将结果保存为文件扩展名指定的格式。可选压平 文件可用(小心使用)。在

from pulse.downloader import download

必需参数

  • index:弹性搜索索引

  • query:Elasticsearch查询

  • filepath:输出文件路径。文件扩展名应与所需的输出匹配 格式。支持的格式包括:

    • .jsonl:下载速度最快,适合大型数据集。最低的 下游进程的内存开销。在
    • .json:标准,加载速度比.jsonl快,但不适合 对于必须立即加载到内存中的数据集
    • .pkl:如果在Python脚本中使用result,则加载速度最快
    • .csv:使用Excel或Pandas使用数据时。字段是 自动展平。建议创建 如果某些字段包含 无法自动展平的数据。在
  • es_hosts:如果使用ES_URL环境变量,则不需要。 Elasticsearch主机的列表。每个项目都应该是一个完全限定的URL 如果适用的话。这将覆盖中可能存在的值 配置。示例:

      https://elastic:password@node1.host.com:9200,https://elastic:password@node2.host.com:9200
    

选项

  • sample_size:要返回的最大结果数(默认值=20000)。在
  • fields:从Elasticsearch返回的字段列表。限制 字段数量减少了下载时间。在
  • flant_doc:展平文档。在处理数据帧时很有用, 但有细微差别。小心使用。在
  • delimiter:展开字段时使用的分隔符
  • include_meta_attribs:仅适用于展平。如果是假的, 所有meta.*.attribs字段都将被丢弃。在
  • no\u flant:不应展平的字段列表
  • query_slice_size:每个片的最大文档数(worker)
  • query_concurrency:并发运行的最大查询数
  • auto_mkdir:如果输出目录不存在,则自动创建输出目录

示例

frompulse.downloaderimportdownloaddownload(filepath="data/rohingya.jsonl",sample_size=10000,query={"query":{"bool":{"filter":[{"match_phrase":{"norm.body":"Rohingya"}}]}}},index='pulse-*',es_hosts=["https://user:password@dag1.istresearch.com:9200","https://user:password@dag2.istresearch.com:9200",])

build_query

生成Elasticsearch查询

from pulse.downloader import build_query

选项

  • start_date:日期范围开始(例如2020-06-14或{})
  • end_date:日期范围结束
  • project_id:项目id
  • campaign_id:活动id
  • where\u exists:一个列表或元组,其中包含应该存在于 每份文件
  • where_not_exists:包含不应存在的字段的列表或元组 存在于每个文档中
  • include\u match:匹配查询的字段映射。返回文档 与提供的文本、数字、日期或布尔值匹配的。提供的文本 在匹配前进行分析。匹配查询是的标准查询 执行全文搜索,包括模糊匹配选项。在
  • exclude\u match:匹配查询的字段映射。过滤文档 与提供的文本、数字、日期或布尔值匹配的。在
  • 包含项ms:字段到术语查询的映射。返回文档 在提供的字段中包含一个精确的术语。在
  • exclude_terms:字段到术语查询的映射。过滤文档 在提供的字段中包含一个精确的术语。在
  • include_-phrase:匹配_-phrase的字段映射查询 匹配短语查询分析文本并在 分析文本。在
  • exclude_-phrase:匹配_-phrase查询的字段映射。排除 匹配的文档。在
  • doc_type:脉冲文档类型
  • timestamp_field:用于开始日期和结束日期的时间戳字段
  • query_string:准备好的查询字符串

示例

frompulse.downloaderimportbuild_query,downloadquery=build_query(include_phrase={"norm.body":"Rohingya"},)download(filepath="data/rohingya.jsonl",sample_size=10000,query=query,index='pulse-*',es_hosts=["https://user:password@dag1.istresearch.com:9200","https://user:password@dag2.istresearch.com:9200",])

发展

要部署新版本,请按照deploy.sh中的说明操作。需要访问 在Lastpass中部署凭据。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Spring MVC@ExceptionHandler未能捕获异常   Java存储过程的内部类不可见   java使用ImageIO从具有alpha透明度的图像中保存具有索引透明度的GIF   java如何在Android中通过编程获得自己的电话号码?   文本使用Java在文件中的每行开头和结尾追加一个字符   使用JDK8生成时发生java语法异常   java为每个平台获得正确的斜杠   jvm Java OutOfMemory错误   C++ java加载一个DLL,从JNI中导出另一个DLL的方法   java如何在特定位置将字符串列表添加到另一个列表中?   groovy如何在jmeter的_groovy()函数中执行java方法/函数?   在Java中寻找素数   java如何向JavaFX图表添加辅助图例?   java JButton在使用时不会更改更新映像。设置图标(图标);   java IllegalArgumentException:错误消息没有意义   java正则表达式检测<code></代码>代码块   定义单击按钮的java   java在subversion中合并两个本地文件   java线程的用途是什么。netsocket中的sleep()。伊奥?