Python中使用Elasticsearch和MongoDB进行数据可视化的方法

2023-04-15 00:00:00 数据 方法 可视化

使用Elasticsearch进行数据可视化:

  1. 安装Elasticsearch SDK

使用pip安装elasticsearch-sdk:

pip install elasticsearch
  1. 连接Elasticsearch
from elasticsearch import Elasticsearch

es = Elasticsearch(["localhost:9200"]) # 连接本地Elasticsearch
  1. 创建索引和文档
index_name = "my_index" # 索引名称
doc_id = 1 # 文档ID
doc_body = {
    "name": "pidancode.com",
    "desc": "皮蛋编程"
} # 文档内容

es.index(index=index_name, id=doc_id, body=doc_body) # 创建文档
  1. 查询文档
res = es.get(index=index_name, id=doc_id) # 根据ID查询文档
print(res["_source"]) # 输出文档内容
  1. 进行聚合查询
query = {
    "aggs": {
        "name_counts": {
            "terms": {
                "field": "name.keyword"
            }
        }
    }
}

res = es.search(index=index_name, body=query) # 执行聚合查询

for bucket in res["aggregations"]["name_counts"]["buckets"]:
    print(bucket["key"], bucket["doc_count"]) # 输出聚合结果

使用MongoDB进行数据可视化:

  1. 安装pymongo SDK

使用pip安装pymongo-sdk:

pip install pymongo
  1. 连接MongoDB
import pymongo

client = pymongo.MongoClient("mongodb://localhost:27017/") # 连接本地MongoDB
db = client["mydatabase"] # 选择数据库
collection = db["my_collection"] # 选择集合
  1. 插入文档
doc_body = {
    "name": "pidancode.com",
    "desc": "皮蛋编程"
} # 文档内容

result = collection.insert_one(doc_body) # 插入文档
print(result.inserted_id) # 输出插入文档ID
  1. 查询文档
query = {"name": "pidancode.com"} # 查询条件

result = collection.find(query) # 根据条件查询文档

for doc in result:
    print(doc) # 输出文档内容
  1. 进行聚合查询
query = [
    {
        "$group": {
            "_id": "$name",
            "count": {"$sum": 1}
        }
    }
]

result = collection.aggregate(query) # 执行聚合查询

for doc in result:
    print(doc["_id"], doc["count"]) # 输出聚合结果

相关文章