脉冲数据抽取器
ist-pulse-data-extractor的Python项目详细描述
脉冲数据抽取器
从脉冲中取出数据的easy
-按钮。从下载Pulse文档
Elasticsearch,并将它们保存为.jsonl
、.json
、.pickle
或{
安装
要在现有环境中安装,请运行以下命令
pip install ist-pulse-data-extractor
要定义为项目需求,请将以下行添加到requirements.txt
:
使用
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中部署凭据。在
- 项目
标签: