Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从erlang插入cassandra_Erlang_Cassandra_Thrift - Fatal编程技术网

从erlang插入cassandra

从erlang插入cassandra,erlang,cassandra,thrift,Erlang,Cassandra,Thrift,我试图从Erlang R14B02(通过thrift 0.6.1)向cassandra 0.7.6中插入一些内容 我正在做以下工作: 读取记录定义 rr(卡桑德拉型) 连接到卡桑德拉 {ok,C}=thrift_client_util:new(“localhost”,9160,cassandra_thrift,[{strict_read,false},{strict_write,false},{framed,true}]) 尝试插入一个值(时间戳=1,2=Quorum) Reply1=thrif

我试图从Erlang R14B02(通过thrift 0.6.1)向cassandra 0.7.6中插入一些内容

我正在做以下工作:

  • 读取记录定义

    rr(卡桑德拉型)

  • 连接到卡桑德拉

    {ok,C}=thrift_client_util:new(“localhost”,9160,cassandra_thrift,[{strict_read,false},{strict_write,false},{framed,true}])

  • 尝试插入一个值(时间戳=1,2=Quorum)

    Reply1=thrift_客户端:调用(C,‘插入’,[“现有_键空间”,“新_键”,“列路径”{column_family=“现有_列_族”,column=“现有_列”},“新_值”,1,2])


  • 但是nr3给了我一个错误(1和2工作得很好)。正确的参数是什么?

    这可能会有所帮助,尽管没有特定于erlang的代码:

    不支持的语言的API信息主要在它们的语言中

    在Cassandra 0.7中,大多数操作都不提供键空间,因此
    insert
    只需要
    [Key,ColumnPath,Column,consistentylevel]
    。在尝试插入之前,需要调用
    set_keyspace
    。erlang中的插入将是

    Reply1 = thrift_client:call(C, 'insert',
                                [SomeKey,
                                 #columnPath{column_family = "existing_column_family",
                                             column = "existing_column"},
                                 #column{name="existing_column",
                                         value="new_value",timestamp=1},
                                 ?cassandra_ConsistencyLevel_QUORUM]).
    
    您的示例也缺少插入的行键

    另一方面,请确保您始终更新C的值-它在每次thrift_客户端调用后都会发生变化


    ?cassandra_ConsistencyLevel_QUORUM是内存中的2。

    Ups,我忘了,很抱歉,editedI的参数仍然不好。。。在您的通话中,列名被给出了两次,对吗?。我的行键是“new_key”,以防有人遇到同样的问题,这对我来说是有效的:{C22,{u}=thrift_客户端:call(C21,'insert',[“test_key”,“test_key”,“columnParent{column_family=“exiting_CF”},{column{name=“exiting_column”,value=“new u val”,timestamp=1},2])。BTW。erlang/thrift/cassandra的最佳文档是生成的erlang代码。至少你可以看到你有什么功能。