gpt4 book ai didi

python - 将嵌套的 json 插入 cassandra

转载 作者:太空宇宙 更新时间:2023-11-03 11:13:54 24 4
gpt4 key购买 nike

我试图将这个嵌套对象插入到 cassandra 数据库中,但不知道如何为此设计表。我希望这个对象的所有数据都存储在 cassandra 中。

下面我粘贴了我试图插入的 json。

有什么建议吗?

{
"status": "success",
"data": {
"resultType": "vector",
"result": [
{
"metric": {
"__name__": "up",
"env": "demosite",
"instance": "localhost:9100",
"job": "node"
},
"value": [
1553849977.349,
"1"
]
},
{
"metric": {
"__name__": "up",
"instance": "ub-lab-server:9090",
"job": "prometheus"
},
"value": [
1553849977.349,
"1"
]
}
]
}
}

最佳答案

有多种方法可以做到这一点。

如果您的用例只是将 JSON 存储为字符串,只需将整个 JSON 作为 blob 序列化到单个列中创建一个表:

CREATE TABLE IF NOT EXISTS my_table(
ID <text/bigint>
DATA text,
CREATEDATE timestamp
)

如果您想将所有嵌套属性表示为单独的列,则必须从下到上开始。即首先创建 User Defined Types对于每个嵌套字段。引用你的 json ,一个例子是:

CREATE TYPE metric (
name text,
env text,
instance text,
job text
);

CREATE TYPE value(
field1 text,
field2 text
);

创建基本 UDT 后,开始创建复合 UDT,引用基本 UDT:

CREATE TYPE result(
metric metric,
value value,
);

CREATE TYPE data(
resultType text,
result set<result>,
);

然后最后引导你的表如下:

CREATE TABLE IF NOT EXISTS my_table (
ID <text/bigint>
status data
)

根据您的查询和存储来谨慎决定您的主键/分区键用例。

关于python - 将嵌套的 json 插入 cassandra,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55414679/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com