يعادل CASSANDRA API "اختيار ... من ... حيث معرف في (" ... "،" ... "،" ... ")؛"

StackOverflow https://stackoverflow.com/questions/2445878

  •  20-09-2019
  •  | 
  •  

سؤال

افترض مجموعة البيانات التالية:

id       age  city      phone
==       ===  ====      =====
alfred   30   london    3281283
jeff     43   sydney    2342734
joe      29   tokyo     1283881
kelly    54   new york  2394929
molly    20   london    1823881
rob      39   sydney    4928381

للحصول على مجموعة النتائج التالية ..

id       age  phone
==       ===  =====
alfred   30   3281283
joe      29   1283881
molly    20   1823881

.. باستخدام SQL واحد سيصدر ..

SELECT id, age, phone FROM dataset WHERE id IN ('alfred', 'joe', 'molly');

ما هي دعوة Cassandra API المقابلة التي من شأنها أن تسفر عن نفس النتيجة المحددة في أمر واحد؟

هل كانت مفيدة؟

المحلول

يدعم CQL (لغة الاستعلام التي تشبه SQL ل Cassandra) الآن:

SELECT ... WHERE keyalias IN ('key1', 'key2', 'key3', ...);

http://cassandra.apache.org/doc/cql/cql.html#filteringrows.

نصائح أخرى

كنت تفعل multiget_slice w / مفاتيح من ألفريد، جو، وملي، و slicePredicate column_names_names من الهوية، العمر، الهاتف

يمكن أن يتم تصميم ما يعادلها كاساندرا كما هو موضح أدناه:

Users = { //this is a ColumnFamily
  "alfred": { //this is the key to this Row inside the CF
     "age":"30",
     "city":"london",
     "phone":"3281283"
  }, // end row
  // more rows...
}

حيث "Alfred" هو مفتاح (الصف) والصف يحتوي على ثلاثة أعمدة؛ العمر والمدينة والهاتف. (حذف حقل الطابع الزمني (للبساطة) للأعمدة الثلاثة)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top