मैं एक ही समस्या के साथ चल रहा हूँ, यहाँ मेरा समाधान है:
MySQL से डेटा निर्यात करना
सबसे पहले, इस तरह से MySQL से डेटा निर्यात करें:
SELECT * INTO OUTFILE 'filename.csv' CHARACTER SET 'utf8'
FIELDS TERMINATED BY '\t' OPTIONALLY ENCLOSED BY ''
FROM table <yourtable>
यह वास्तव में एक tsv फ़ाइल (टैब से अलग किए गए मान) है, लेकिन आप उन्हें csv विचार के अनुसार आयात कर सकते हैं।
बड़ी क्वेरी में आयात करें
इस तरह आप इसे निम्नलिखित मापदंडों के साथ बड़ी क्वेरी में आयात करने में सक्षम होना चाहिए:
bq load --field_delimiter="\t" --null_marker="\N" --quote="" \
PROJECT:DATASET.tableName gs://bucket/data.csv.gz table_schema.json
नोट
-
यदि आपके MySQL डेटाबेस में किसी भी फ़ील्ड में एक टैब वर्ण है (
\t
), यह आपके कॉलम को तोड़ देगा। इसे रोकने के लिए आप SQL फ़ंक्शनREPLACE(<column>, '\t', ' ')
जोड़ सकते हैं स्तंभों पर और यह टैब से रिक्त स्थान में परिवर्तित हो जाएगा। -
यदि आप तालिका स्कीमा को बड़ी क्वेरी के वेब इंटरफ़ेस में सेट करते हैं तो आपको हर बार CSV लोड करने पर उसे निर्दिष्ट करने की आवश्यकता नहीं होगी।
मुझे आशा है कि यह आपके लिए काम करेगा।