1

私のluaコードは、公式ウェブサイトの例から取得されています:

local function one(rec)
    info("lalalalal  %s",rec['id'])
    return 1
end
local function add(a, b)
    return a + b
end
function mycount(stream)
    return stream : map(one) : reduce(add);
end

aql コマンドを使用する場合:

ブローなどのログのエラー:

2015 年 5 月 20 日 07:12:07 GMT: DEBUG (udf): (udf_rw.c:send_result:515) stream_udf mycount /opt/aerospike/usr/udf/lua/stream_udf.lua:10 を呼び出すときにエラーが発生しました: メソッドの呼び出しを試みます'map' (nil 値) May 20 2015 07:12:07 GMT: DEBUG (udf): (udf_rw.c:send_udf_failure:403) 非特殊 LDT または一般 UDF エラー (/opt/aerospike/usr/udf/ lua/stream_udf.lua:10: メソッド 'map' を呼び出そうとしています (nil 値))

それを解決する方法? ありがとう

4

1 に答える 1

1

これは、nil を文字列に自動的に変換しない Lua の問題であり、print や info() などの関数はその型を想定しています。行を次のように変更します

info("lalalalal  %s", tostring(rec['id']))
于 2015-05-21T17:07:24.510 に答える