फंक्शन मिनट (यूयूआईडी) postgresql - postgresql, sqoop में मौजूद नहीं है

मैं sqgr का उपयोग करके Postgres से hdfs में तालिकाओं को आयात किया है। मेरी तालिका में प्राथमिक कुंजी के रूप में uid क्षेत्र और नीचे मेरी कमांड स्कूप है:

sqoop import --connect "jdbc:postgresql://localhost:5432/mydb" --username postgreuser --password 123456abcA --driver org.postgresql.Driver --table users --map-column-java id=String --target-dir /hdfs/postgre/users --as-avrodatafile --compress -m 2

लेकिन मुझे त्रुटि मिली:

Import failed: java.io.IOException: org.postgresql.util.PSQLException: ERROR: function min(uuid) does not exist

मैंने sql कमांड निष्पादित करने की कोशिश की: SELECT min(id) from users और वही त्रुटि मिली। मैं इसे कैसे ठीक कर सकता हूं? मैं Postgres 9.4, hadoop 2.9.0 और squp 1.4.7 का उपयोग करता हूँ

उत्तर:

जवाब के लिए 0 № 1

यह स्कूप के साथ एक मुद्दा नहीं है। पोस्ट यूगिड पर मिन / मैक्स की अनुमति नहीं देता है। प्रत्येक यूआईडी अद्वितीय है और इसे अन्य की तुलना में बड़ा / छोटा नहीं माना जाता है।

इसे स्कूप में ठीक करने के लिए आपको स्प्लिट-बाय कुंजी के रूप में कुछ अन्य फ़ील्ड का उपयोग करने की आवश्यकता हो सकती है। मैंने इसके बजाय अपने विभाजित-कुंजी के रूप में create_At टाइमस्टैम्प का उपयोग किया।


संबंधित सवाल
सबसे लोकप्रिय