私はテキストファイルを読み込んで、Pythonを使ってRiak DBにデータを挿入しました。jsonデータの前にu 'を取り除く
csv_data = csv.reader(file('abc.txt'))
txtファイルは、iがマップ
user_buckets.map("""
function(v) {
var data = JSON.parse(v.values[0].data);
if(data.is_active == true) {
return [[v.key, data]];
}
return [];
}
""")
for result in user_buckets.run():
print "%s - %s" % (result[0], result[1])
を使用する2つのフィールド@@
tempstring = str(row).split('@@')
で分離し、RiakにDBからデータをフェッチするRiakにDBに
new_user = user_buckets.new(FirstUser,data={
'user':FirstUser,
'friendlist':FriendList,
'is_active':True
})
new_user.store()
挿入を含んでい
ここ
方法I缶を{u'Dinesh ' ':[u'Bakshi'、U」Kishna ']、u'is_active':真、u'user' u'friendlist} -
ディネッシュマットuを出力形式で削除しますか? Riakに挿入している間に文字列に変換すると、Uを形成しますか?
編集
私はここのMapReduce
function(v) {
var data = JSON.parse(v.values[0].data);
var mapped = [];
var grouping = [];
if(data.is_active == true) {
userValue = data.user;
friendListValue = data.friendlist;
for (var i=0; i<friendListValue.length; i++){
friendValue = friendListValue[i];
mapped.push([userValue, friendValue, friendListValue]);
grouping.push([mapped[i]]);
}
}
}
を用いグルーピングRiakにDBをフェッチ1
[u'Dinesh', u'Shiva', [u'Bakshi', u' Kishna', u' Hanks', u' Shiva', u' Bindu', u' Hari', u' Karma', u' Sita']]
[u'Shiva', u'Dinesh', [u'Hanks', u' Tom', u' Karma', u' Hari', u' Dinesh']]
例
ようなデータを含む多次元配列であります
iは、例えばケースのように与えられた上記で
if(grouping[j][0]==grouping[k][1]&& grouping[j][1]==grouping[k][0])
を使用して配列内の値を比較していたとき、それがtrueを返すべきであるが、それはエラーを返します。だから私はそれがuのためだと思う。今、どのように配列を比較し、マッチのケースを見つけることができますか?ここで私は条件が間違っていると思う。
「u」はユニコードを意味し、実際には存在しません。データを印刷するときのビジュアルマーカーです。しかし、 'Dinesh'はJSONではなくPython辞書です。 – roganjosh
Riakからフェッチされたデータは、上記の例のようにフォーマットされます。私は値を比較したい(上記のような条件を比較する)、それはエラーを与える。上のような例ではtrueを返すが、それを得ることはできない。 – bikas
重複とマークされたリンクをたどり、Daniel Rosemanの答えを読んだことはありますか? 「真」と「エラー」には違いがあります。エラーは何ですか? – roganjosh