问题标签 [crate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
120 浏览

sql - 是否可以使用来自两个表的形状发出空间连接?

我希望能够运行如下查询:

但我得到:

示例架构:

尝试的原因wkt string是由于文档使用了 WKT literals。此外,由于我们的实际实现是可变数量的几何图形,我们可能会针对这些几何图形进行连接并且geo_shape不能存在于对象中,因此我们希望 WKT 可以与连接一起使用。

更新 1(根据增强 Jacob 的回答)尝试使用 geo_shape join geo_shape 与此模式:

上面的查询产生了一个不同的错误:

而且,虽然错误并不理想,但我不希望它能够正常工作,因为文档状态

笔记

一个 MATCH 谓词不能组合连接的两个关系的列。

更新 2使用 geo_shape join geo_shape,match不起作用但within可以工作,但是,作为“精确”查询,性能使其几乎无法使用,至少在我们的 2.4B 行中是这样。

0 投票
1 回答
506 浏览

sql - 如何从 sql 对象(CRATE DB)中查询项目

我正在尝试使用新的 crate db。链接 我有一个包含“基础设施”和“网络”对象的表:

我需要从“infrastructure”中查询 os_name 并从网络数组中查询 hosting_id。我怎么做?我试图谷歌找到正确的语法,但没有成功。我想要这样的东西:

0 投票
1 回答
159 浏览

sqoop - Sqoop 从 HDFS 导出到 Crate.io 数据库,没有错误/输出

我正在尝试将我的 hdfs 导出到 Crate.io DB,并且我正在使用 Sqoop 来执行此操作。我已经导入了所需的 .jar 文件,我的 sqoop 文件如下所示:

我的 sqoop 操作运行没有任何错误,但是我的 hdfs 没有任何内容插入到 crate db 中。我试过在 IP 中提到“doc”,但仍然没有成功。

并交替使用

我已经能够通过 Python 库将内容插入到 crate 中,但不能通过 Sqoop。有什么想法我可能在这里做错了吗?

0 投票
2 回答
4052 浏览

authentication - 使用 curl 和基本访问身份验证创建 SQL 查询

crate.io 文档中,我被告知可以像这样执行 SQL 查询:

curl -sSXPOST 'CLUSTER_IP:4200/_sql?pretty' -d '{"stmt":"select name from sys.cluster"}'

我尝试连接的数据库需要用户名和密码:

认证

如何将此身份验证构建到 curl 调用中?我尝试了几种我在网上找到的东西,但都没有成功。我一直看到的错误如下所示:

在此处输入图像描述

0 投票
1 回答
235 浏览

crate - 如官方网站所述,如何调整 cratedb 以每秒获得 40000 次插入

我正在对 cratedb 进行基准测试,每条记录有 40 列,记录大小在 300 字节到 1kb 之间变化。

我只能在单线程上每秒插入 500 次。

将 cratedb 1.0.1 与 python 客户端一起使用。具有 16 个 CPU 和 32GB RAM 的机器。

请帮助我如何提高性能。以及在什么条件下我们可以获得官网中提到的每秒 40,000 次插入。

提前致谢

0 投票
1 回答
757 浏览

crate - 板条箱:为什么要求 PRIMARY KEY 列出现在 PARTITIONED BY 子句中?

您能帮我理解我在本文档中阅读的内容吗? https://crate.io/docs/reference/sql/partitioned_tables.html

在这些示例表中,列id long不是primary_key; 实际上,id这里不能是主键,因为如下所述“如果设置了主键,则它必须存在于PARTITION BY子句中”

在我的应用程序中,我历来有一个primary keyon id string NOT NULL,但现在我想在这个表上添加分区,在生成的日期列上,就像在示例中一样partition_date timestamp GENERATED ALWAYS AS date_trunc('day', created_at)。我已经读过,对日期列进行分区将有助于提高按时间段范围内的查询速度(例如,计算今天的所有记录,只会命中今天的分区),并帮助我归档较旧的数据帧(例如 > 180 天的任何数据) ),但我不想失去单 PK 查找的性能。

所以,既然我做不到PARTITIONED BY (partition_date),我最好……

a) 删除主键约束id?我很紧张这会影响我的单行查找性能!在这种情况下,PK 必须在分区键中是有意义的,因为理想情况下查找WHERE id = "abc-123"应该只需要命中单个节点。

或者

b) 使用两列作为分区键,比如PARTITIONED BY (id, partition_date)-- 这看起来很奇怪,因为本能地,我想假设它id具有高基数并且对于分区列来说是一个糟糕的选择,而“日”或“月”会更好,如您的文档中的示例所示。在这种情况下,我的 PK 查找是否命中了每个分区,或者它是否确切地知道要去哪里?如果我运行仅限于今天的聚合查询,它会命中每个分区还是只命中保存今天数据的分区?

0 投票
0 回答
99 浏览

sql - crate.io SQL 嵌套选择中的错误

我正在从 crate.io 管理控制台执行此查询,但它失败并出现UnsupportedOperationException错误:

Cannot create plan for: io.crate.analyze.QueriedSelectRelation

这是查询:

如果我删除最后一行(即 WHERE 语句),它将运行。这也运行得很好:

0 投票
2 回答
242 浏览

python - 在对象数组中插入对象/字典(Crate,python)

我在crate表中有一个对象数组, 当我执行 SELECT 和 fetchall() 命令时,它给了我以下字典列表:

之后,我想更改这些字典之一的值并使用 sql UPDATE 更新数组。在硬代码中,它应该如下所示:

这意味着我必须解析这本字典:

变成这样的字符串:

没有 " 键,= 而不是 : 。我怎么能在 python 中做到这一点?

0 投票
2 回答
345 浏览

sql - 在 CrateDB 中存储性能数据的最佳实践是什么?

我的应用程序将性能时间序列数据存储在 CrateDB 中,为了正确设置,我有几个问题,因为它每天将有大约 72M 条记录,并且应该可以适当扩展:)。我的目标是使用 Grafana 可视化生成的数据,目前我想到了以下结构:

重要的位是主机/服务名称、指标的名称和值以及时间戳。这也将是替代模式:

那么哪一种是存储数据的首选方式呢?我还需要分区吗?我的聚合通常显示过去 24 小时,很少显示上个月...

谢谢!

0 投票
1 回答
233 浏览

levenshtein-distance - crate.io FULLTEXT SEARCH 模糊性

我想使用 Levenshtein,我正在寻找一些例子。我已经阅读了文档,但我不知道如何实现它。我尝试构建自己的分析器,但每次使用它都会崩溃。

这是我遵循的文档: https ://crate.io/docs/reference/sql/fulltext.html

示例表:

我的目标是搜索沃尔玛并返回沃尔玛。