सबसे पहले, एचडीएफएस और सीकेएएन कॉन्फ़िगरेशन भागों को निकालने के लिए स्वतंत्र महसूस करें। सिग्नस चलाते समय आप उन घटकों से संबंधित अनावश्यक लॉग से बचेंगे। बेशक, सिंक और चैनलों के सभी संदर्भों को हटाना याद रखें; विशेष रूप से:
cygnusagent.sources = http-source
cygnusagent.sinks = mysql-sink
cygnusagent.channels = mysql-channel
...
cygnusagent.sources.http-source.channels = mysql-channel
दूसरा, आपके प्रश्न का उत्तर दस्तावेज़ीकरण में पाया जा सकता है:
तालिकाओं के भीतर, हमें दो विकल्प मिल सकते हैं:
- फिक्स्ड 8-फ़ील्ड पंक्तियाँ, हमेशा की तरह:recvTimeTs, recvTime, entityId, entityType, attrName, attrType, attrValue और attrMd। ये तालिकाएँ (और डेटाबेस) निष्पादन समय पर बनाई जाती हैं यदि तालिका पहले पंक्ति प्रविष्टि में मौजूद नहीं है। attrValue के संबंध में, अपने सरलतम रूप में, यह मान केवल एक स्ट्रिंग है, लेकिन ओरियन 0.11.0 के बाद से यह Json ऑब्जेक्ट या Json सरणी हो सकती है। AttrMd के संबंध में, इसमें Json में विशेषता के लिए मेटाडेटा सरणी का एक स्ट्रिंग क्रमांकन होता है (यदि विशेषता में मेटाडेटा नहीं है, तो एक खाली सरणी [] डाली गई है),
- प्रत्येक इकाई की विशेषता के लिए दो कॉलम (एक मान के लिए और दूसरा मेटाडेटा के लिए), साथ ही डेटा के रिसेप्शन समय (recv_time) के बारे में एक अतिरिक्त कॉलम। इस प्रकार की तालिकाओं (और डेटाबेस) को पहले Cygnus के निष्पादन के लिए प्रावधानित किया जाना चाहिए , क्योंकि प्रत्येक इकाई में विशेषताओं की एक अलग संख्या हो सकती है, और सूचनाओं को यह सुनिश्चित करना चाहिए कि प्रत्येक विशेषता के लिए एक मान अधिसूचित किया गया है।
डेटा के आंतरिक प्रतिनिधित्व के संबंध में कनेक्टर का व्यवहार एक कॉन्फ़िगरेशन पैरामीटर, attr_persistence के माध्यम से नियंत्रित होता है, जिसका मान पंक्ति या स्तंभ हो सकता है।
हो सकता है कि लेखन में कोई समस्या हो, मुझे लगता है कि अंतिम पैराग्राफ " के रूप में समाप्त होना चाहिए ... संपूर्ण मान पंक्ति या स्तंभ हो सकते हैं, और जिनका व्यवहार क्रमशः ऊपर वर्णित विकल्पों के अनुरूप है " ।
अर्थात। यदि आप कॉलम मोड का उपयोग कर रहे हैं, तो डेटाबेस और तालिकाओं को उन्नत में प्रावधान किया जाना चाहिए।
एक है समान प्रश्न जहां मैं इस तरह के व्यवहार के बारे में विस्तार से बताता हूं।
एचटीएच!