تالند بيانات الاستعلام في الخلية على أساس المدخلات من خلية

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

  •  02-01-2020
  •  | 
  •  

سؤال

لدي شرط للاستعلام عن عمود في خلية وبناء على الإخراج أريد الاستعلام عنه في الخلية ديسيبل.

التدفق هو شيء من هذا القبيل أدناه:

  1. الاستعلام عن جدول الخلية ، احصل على قائمة المعرفات
  2. استخدام قائمة معرف للاستعلام الجدول الخلية.سيكون الاستعلام مثل select a,b,c from x where id in (list from hive)

كيف أفعل هذا?

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

المحلول

تحتاج فقط إلى جعل الاستعلام الخاص بك باستخدام مكون ثيفينبوت لاسترداد معرف ومن ثم كنت قد حصلت على خيارين ، طريقة سهلة أو الطريق الصعب (وأفضل:

للطريقة السهلة يمكنك بعد ذلك تشغيل من مكون ثيفينبوت إلى تفلوتويتيريت ثم تكرار إلى مكون تميسكلينبوت.الاستعلام الخاص بك في مكون تميسكلينبوت ثم تبدو شيئا مثل:

"SELECT a, b, c
FROM x
WHERE id = '" + ((Integer)globalMap.get("row1.id")) + "'"

الصف 1 هنا يمثل الصف الذي يعمل في تفلوتويتيريت الخاص بك.يمكنك أيضا الحصول على هذا المتغير عن طريق ضرب السيطرة + الفضاء واختيار tFlowToIterate_x.id الخيار.

يمكنك بعد ذلك توصيل مكون تبفيروتبوت إلى مكون تميسكلينبوت لجمع كل التكرارات ومن ثم قراءتها مرة أخرى في مع مكون تبفيرينبوت لمزيد من المعالجة.

ومن الواضح أن هذا تسلسل بسيط هو ثم ليس أفضل وسيلة للكفاءة وبطبيعة الحال مفتوحة لحقن سكل.لكنها طريقة صعبة وجاهزة.

الخيار الآخر (أصعب ولكن يحتمل أن تكون أفضل) هو استخدام استعلام معلمات باستخدام مكون تميسكلرو (غير معتمد حاليا في مكون تميسكلبوت اعتبارا من تالند 5.4).

هذه الإجابة يذهب إلى بعض التفاصيل حول الاستعلامات المعلمة في تالند كجزء من حل لمشكلة أخرى (مزعجة بكفاءة).كما هو مذكور في هذه الإجابة، هناك المزيد من التفاصيل حول الاستعلامات ذات المعلمات على مدونة غابرييل بالداسار.

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