javascript - 如何在 apache cassandra 中创建 javascript udf
问题描述
我是 Apache Cassandra 和 javascript 的新手,我需要在 Apache Cassandra 中创建 javascript udf。我在 Cassandra 中创建了一个简单的 udf,但我无法在查询中调用该函数,弹出错误
这是与我的问题相关的所有详细信息
我的桌子看起来像这样
id | age | course | name | sex
------+-----+--------+---------+--------
st05 | 23 | b.tech | nafees | male
st03 | 27 | mca | lengdon | male
st02 | 24 | mca | jaanvi | female
st01 | 22 | mca | sahil | male
st04 | 23 | b.tech | jay | male
CREATE TABLE test.student (
id text PRIMARY KEY,
age int,
course text,
name text,
sex text
)
我还在年龄列上创建了一个索引
CREATE INDEX age_index ON test.student (age);
我的功能看起来像这样
CREATE OR REPLACE FUNCTION demojs (input int)
CALLED ON NULL INPUT
RETURNS int
LANGUAGE javascript AS 'function(input){
return input;
}';
我的查询是
select * from student where age=demojs(22);
当我尝试执行查询时出现以下错误
回溯(最后一次调用):文件“C:\Program Files\apache-cassandra-3.11.6\bin\cqlsh.py”,第 1050 行,在 perform_simple_statement 结果 = future.result() 文件“C:\Program Files \apache-cassandra-3.11.6\bin..\lib\cassandra-driver-internal-only-3.11.0-bb96859b.zip\cassandra-driver-3.11.0-bb96859b\cassandra\cluster.py",第 3925 行, 结果引发 self._final_exception FunctionFailure: Error from server: code=1400 [User Defined Function failure] message="execution of 'test.demojs[int]' failed: com.datastax.driver.core.exceptions.InvalidTypeException: Invalid CQL 类型 int 的值"
谁能告诉我在这里做错了什么,这将有很大帮助
解决方案
函数的主体将是这样的
CREATE OR REPLACE FUNCTION demojs (input int)
CALLED ON NULL INPUT
RETURNS int
LANGUAGE javascript AS 'input;';
推荐阅读
- r - 添加带有纯斜体字体的文本以进行绘图
- blockchain - Geth (go-ethereum) 在挖矿期间使用 100% CPU,即使指定了 1 个线程
- .net - 测试 TCP 端口是否在未连接的情况下打开
- amazon-web-services - 数组中的 AWS 控制台搜索
- c# - 正则表达式匹配和替换整个单词或部分单词
- reactjs - mapStateToProps 是反模式吗?
- reactjs - MSAL 以静默方式获取令牌在 IE 11 for React SPA 中不起作用
- python - django-elasticsearch 错误:[Errno -2] 名称或服务未知
- angular - Angular - 无法下载 zip 文件
- leaflet - 使用 L.vectorGrid.protobuf 绘制多多边形时遇到问题