如何通过以用户输入格式进行输入来在Zeppelin中运行CQL?

问题描述 投票:1回答:1

我试图通过使用Zeppelin工具中的用户输入格式来运行CQL查询:-

%cassandra

SELECT  ${Select Fields Type=uuid ,uuid | created_by |  email_verify| username} FROM 
${Select Table=keyspace.table_name} 
${WHERE email_verify="true" } ${ORDER BY='updated_date' }LIMIT ${limit = 10};

运行此查询时出现此错误:

line 4:0 mismatched input 'true' expecting EOF 
   (SELECT uuid FROM keyspace.table_name ["true"]...)
cassandra interpreter cql apache-zeppelin cqlsh
1个回答
0
投票

您需要将WHEREORDER BY从动态表单声明中移出。

输入字段声明看起来像following${field_name=default_value}。对于您的情况,您的字段名称为WHERE ...,而不是WHERE email_verify

应该是以下(未测试):

%cassandra

SELECT ${Select Fields Type=uuid ,uuid | created_by |  email_verify| username} FROM 
${Select Table=keyspace.table_name} 
WHERE ${where_cond=email_verify='true'} ORDER BY ${order_by='updated_date'} LIMIT ${limit = 10};

更新:

这是具有以下结构的表的工作示例:

CREATE TABLE test.scala_test2 (
    id int,
    c int,
    t text,
    tm timestamp,
    PRIMARY KEY (id, c)
) WITH CLUSTERING ORDER BY (c ASC)

working example

© www.soinside.com 2019 - 2024. All rights reserved.