DSE图 - 如何从Gremlin查询中查看底层的Cassandra查询?

问题描述:

如果我在gremlin-console中执行gremlin查询,有没有办法看到Cassandra查询DSE Graph生成的?DSE图 - 如何从Gremlin查询中查看底层的Cassandra查询?

DSE图提供了一个扩展属性集TinkerPop有关的profile() step的结果 - 这里是输出的一个例子:

gremlin> g.V().has('recipe','name','spaghetti').profile() 
==>Traversal Metrics 
Step                Count Traversers  Time (ms) % Dur 
============================================================================================================= 
DsegGraphStep([~label.=(recipe), name.=(spaghet...      1   1   97.087 81.00 
    query-optimizer                    22.802 
    \_condition=(((label = recipe) & (true)) & name = spaghetti) 
    query-setup                     1.134 
    \_isFitted=true 
    \_isSorted=false 
    \_isScan=false 
    index-query                     19.838 
    \_indexType=Secondary 
    \_usesCache=false 
    \_statement=SELECT "community_id", "member_id" FROM "junk"."recipe_p" WHERE "name" = ? LIMIT ?; with para 
       ms (java.lang.String) spaghetti, (java.lang.Integer) 50000 
    \_options=Options{consistency=Optional[ONE], serialConsistency=Optional.empty, fallbackConsistency=Option 
       al.empty, pagingState=null, pageSize=-1, user=Optional.empty, waitForSchemaAgreement=true, asyn 
       c=true} 
DsegPropertyLoadStep             1   1   22.772 19.00 
              >TOTAL      -   -   119.860  - 
+0

当我使用'profile()'时,它只提供查询计划的步骤,但不提供Cassandra查询。在你的例子中,我想它只是提供Cassandra片断,因为查询命中了一个二级索引?如果它不需要二次索引命中,那么它与Cassandra没有任何关系。我说的是真的吗? – Glide

+0

在DSE之后添加CQL的显示为5.0.10和5.1.2我相信 - 在此之前它不可用。也许你需要升级才能拥有这个功能? –

+0

谢谢。我现在看到它。正在使用5.1.1。 – Glide

斯蒂芬是正确的。该功能已添加到5.1.2中。您将在5.1.2的发行说明中看到JIRA(DSP-13293)。你使用什么版本?

+0

谢谢。我现在看到它。正在使用5.1.1。 – Glide