मैं एसक्यूओपीपी का उपयोग कर एचडीएफएस से एमएस-एसक्यूएल में जानकारी निर्यात कर रहा हूं। मैं OOZIE के माध्यम से SQOOP चला रहा हूँ। अभी मैं ओडीआईई वर्कफ़्लो में जेडीबीसी कनेक्शन के लिए यूआईडी को हार्ड-कोड किया है। एक बार जब मैं प्रोड पर स्विच करता हूं तो मैं ऐसा करने में सक्षम नहीं होगा। इस तरह की स्थिति में प्रमाणीकरण जानकारी पास करने का सबसे अच्छा तरीका क्या है?एमएस-एसक्यूएल से कनेक्ट करने के लिए मैं ओओजीआईई के माध्यम से एसक्यूओपीपी को पासवर्ड कैसे प्रदान कर सकता हूं?
<sqoop xmlns="uri:oozie:sqoop-action:0.2">
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<arg>export</arg>
<arg>--connect</arg>
<arg>jdbc:sqlserver://$sqlServerIP:1433</arg>
<arg>--table</arg>
<arg>tableName</arg>
<arg>--export-dir</arg>
<arg>/user/sqoop/file</arg>
<arg>--username</arg>
<arg>me</arg>
<arg>--password</arg>
<arg>password</arg>
</sqoop>
मैं उन्हें $ userName, $ पासवर्ड जैसे पैरामीटर के रूप में पास कर सकता हूं। लेकिन असली यूआईडी/पीडब्ल्यूडी अभी भी ओज़ी वेब कंसोल में दिखाएगा।
अद्यतन
मैं दो तरीकों की कोशिश की है (के रूप में bellow सुझाव दिया) यह करने के लिए ... विम में मैं pwd बनाया बस पासवर्ड (कोई सफेद रिक्त स्थान या कुछ और) है। इस पीडब्ल्यूडी को बुलाया
1) मैंने फ़ाइल सिस्टम का उपयोग करने का प्रयास किया। हालांकि मुझे एक आईओएक्सप्शन मिला है कि फाइल मौजूद नहीं है। कोड को देखने के बाद, ऐसा लगता है कि sqoop fs तक पहुंचने के लिए पास किए गए conf का उपयोग करता है। तो मुझे लगता है कि ओजी के माध्यम से भागने पर यह केवल एचडीएफएस तक पहुंच जाएगा।
2) मैंने पासवर्ड फ़ाइल को hdfs पर एक यादृच्छिक स्थान में लोड किया।/उपयोगकर्ता/मेरा नाम/pwd (pwd फ़ाइल है)। अब यह फ़ाइल तक पहुंच सकता है (क्योंकि मुझे आईओएक्सप्शन नहीं मिला है)। हालांकि यह SQLServer से कनेक्ट करने में विफल रहता है। मुझे यकीन नहीं है कि इसे काम करने के लिए मुझे क्या करना है?
अद्यतन 2 मैं जैसे पासवर्ड फ़ाइल बनाने गया था ताकि: echo "pwd" > my.password
इस फ़ाइल के लिए एक EOL my.password मैं echo -n "pwd" > my.password
को बदल दिया है और अब यह काम करता है कहते हैं।
बस यह ध्यान रखना चाहता था कि (कम से कम CentOS 7) 'echo -n" pw_d "> my.password'' '_'' प्रतीक मौजूद है, यदि यह मौजूद है, तो केवल' 'pwd'' लिखना फ़ाइल। तो यानी 'vi'' बेहतर विकल्प हो सकता है – Nutle