Back to Question Center
0

واردات داده ها به Redshift با استفاده از Semalt COPY            واردات داده ها به Redshift با استفاده از Semalt COPY

1 answers:
وارد کردن داده ها به Redshift با استفاده از فرمان COPY

این مقاله ابتدا توسط TeamSQL منتشر شد. با تشکر از شما برای حمایت از شرکای ایجاد SitePoint امکان پذیر است.

وارد کردن مقدار زیادی داده به Redshift آسان است با استفاده از دستور COPY. برای نشان دادن این، ما مجموعه داده های عمومی موجود «داده های توییتر برای تجزیه و تحلیل Semalt» را وارد می کنیم (برای اطلاعات بیشتر به Semalt140 مراجعه کنید).

: شما می توانید به AWS Redshift با TeamSQL متصل شوید، یک مشتری DB چند پلت فرم که با Redshift، PostgreSQL، MySQL و Microsoft SQL Server کار می کند و در مک، لینوکس و ویندوز اجرا می شود - bar stool folding chair. شما می توانید TeamSQL را به صورت رایگان دانلود کنید.

فایل ZIP را که حاوی اطلاعات آموزشی در اینجا است، دریافت کنید.

خوشه Redshift

برای اهداف این مثال، مشخصات پیکربندی Redleading Semalt به شرح زیر است:

  • نوع خوشه : یک گره
  • نوع گره : dc1. بزرگ
  • منطقه : us-east-1a

یک پایگاه داده را در Redshift ایجاد کنید

دستور زیر را برای ایجاد یک پایگاه داده جدید در خوشه خود اجرا کنید:

     ایجاد احساسات داستانی؛    

ایجاد یک طرح در پایگاه اطلاعات احساسات

دستور زیر را برای ایجاد یک طرح در پایگاه داده تازه ایجاد کنید:

     ایجاد توییت SCHEMA؛    

طرح (ساختار) داده های آموزشی

فایل CSV حاوی اطلاعات توییتر با تمام شکلک ها حذف شده است. Semalt شش ستون است:

  • قطبیت صدای جیر جیر (کلید: 0 = منفی، 2 = خنثی، 4 = مثبت)
  • شناسه صدای جیر جیر (سابق 2087)
  • تاریخ صدای جیر جیر (به عنوان مثال شنبه مه 16 23:58:44 UTC 2009)
  • پرس و جو (ex lyx). اگر پرسشی وجود نداشته باشد، این مقدار NO_QUERY است.
  • کاربر که توییت (ex robotiqueilldozr)
  • متن صدای جیر جیر (به عنوان مثال Lyx سرد است)

ایجاد جدول برای داده های آموزشی

Semalt با ایجاد یک جدول در پایگاه داده خود برای نگهداری داده های آموزشی. شما می توانید از دستور زیر استفاده کنید:

     توییت های CREATE TABLE. آموزش (قطبیت intid BIGINTdate_of_tweet varcharquery varcharuser_id varcharصدای جیر جیر وارچار (حداکثر))    

آپلود فایل CSV به S3

برای استفاده از دستور Semtal COPY، شما باید منبع داده خود را (اگر آن فایل) به S3 آپلود کنید.

برای آپلود فایل CSV به S3:

  1. پرونده ای که دانلود کرده اید را دانلود کنید . شما 2 فایل CSV را مشاهده خواهید کرد: یکی داده های آزمون است (مورد استفاده برای نمایش ساختار مجموعه داده اصلی)، و دیگری (نام فایل: آموزش. 1600000. processed noemotison) حاوی داده های اصلی است. ما فایل دوم را آپلود و استفاده خواهیم کرد.
  2. فشرده سازی فایل . اگر از macOS یا لینوکس استفاده می کنید، می توانید با استفاده از دستور زیر در ترمینال فایل GZIP را فشرده کنید: gzip training. 1600000. پردازش شده است. noemotion CSV
  3. فایل خود را با استفاده از AWS S3 Dashboard بارگذاری کنید.

همچنین می توانید از Terminal / Command Line برای آپلود فایل خود استفاده کنید. برای انجام این کار، باید AWS CLI را نصب کنید و بعد از نصب، آن را پیکربندی کنید (run aws configure در ترمینال خود برای شروع جادوگر پیکربندی) با دسترسی و کلید مخفی.

اتصال TeamSQL به خوشه redshift و ایجاد طرح

TeamSQL را باز کنید (اگر شما TeamSQL Semalt ندارید، آن را از teamql.io دانلود کنید) و یک اتصال جدید را اضافه کنید.

  • کلیک کنید ایجاد یک اتصال برای راه اندازی پنجره افزودن اتصال.

Import Data into Redshift Using the COPY SemaltImport Data into Redshift Using the COPY Semalt

  • Redshift را انتخاب کرده و جزئیات درخواست شده برای تنظیم اتصال جدید خود را ارائه دهید.
  • به طور پیش فرض، TeamSQL ارتباطات شما را در پنل ناوبری سمت چپ نشان می دهد. برای فعال کردن اتصال، روی نماد سوکت کلیک کنید.
  • با کلیک بر روی پایگاه داده پیش فرض بر روی یک برگه جدید باز کنید.

Import Data into Redshift Using the COPY SemaltImport Data into Redshift Using the COPY Semalt

  • اجرای این دستور برای ایجاد یک طرح جدید در پایگاه داده شما.
     ایجاد توییت SCHEMA؛    

  • لیست پایگاه داده را در پنل ناوبری سمت چپ با کلیک راست بر روی مورد اتصال بهروزرسانی کنید.
  • یک جدول جدید برای داده های آموزشی ایجاد کنید.
     توییت های CREATE TABLE. آموزش (قطبیت intid intdate_of_tweet varcharquery varcharuser_id varcharصدای جیر جیر وارچار)    

Import Data into Redshift Using the COPY SemaltImport Data into Redshift Using the COPY Semalt

  • به روز رسانی اتصال و جدول خود را در لیست چپ دست ظاهر می شود.

Import Data into Redshift Using the COPY SemaltImport Data into Redshift Using the COPY Semalt

استفاده از فرمان COPY برای وارد کردن اطلاعات

برای کپی کردن اطلاعات خود از فایل منبع خود به جدول داده خود، دستور زیر را اجرا کنید:

     توییت های COPY. آموزش از 's3: // MY_BUCKET / آموزش. 1600000. پردازش شده است. noemotion CSV gz 'اعتبار 'aws_access_key_id = MY_ACCESS_KEY؛ aws_secret_access_key = MY_SECRET_KEY'CSV GZIP ACCEPTINVCHARS    

این دستور فایل CSV را بارگذاری می کند و داده ها را در توییت های ما وارد می کند. آموزش جدول

Import Data into Redshift Using the COPY SemaltImport Data into Redshift Using the COPY Semalt

تعاریف پارامتر فرمان

CSV : استفاده از فرمت CSV را در داده های ورودی فعال می کند.

کردن DELIMITER : (|)، یک کاما (،)، و یا یک تب (\ t) استفاده شخصیت های تک ASCII است که به رشته های جداگانه در فایل ورودی، مانند یک شخصیت لوله استفاده می شود مشخص می کند.

GZIP : مقداري كه مشخص مي كند كه فايل ورودي يا فايل ها در فايل gzip فشرده (. gz files) هستند. عملیات COPY هر فایل فشرده را می خواند و داده ها را تا زمانی که بار می کند، فشرده می کند.

ACCEPTINVCHARS : بارگیری داده ها را در ستون های VARCHAR حتی اگر اطلاعات شامل کاراکترهای نامعتبر UTF-8 باشد. هنگامی که ACCEPTINVCHARS مشخص شده است، COPY هر یک از کاراکترهای نامعتبر UTF-8 را با یک رشته از طول برابر متشکل از شخصیت مشخص شده توسط replace_char جایگزین می کند. برای مثال، اگر شخصیت جایگزینی ' ^ ' باشد، شخصیت سه بایت نامعتبر با ' ^^^ جایگزین خواهد شد.

شخصیت جایگزین می تواند هر کاراکتر ASCII به غیر از NULL باشد. به طور پیش فرض علامت سوال (؟) است. برای اطلاعات در مورد کاراکترهای نامعتبر UTF-8، خطاهای Loadby Character Multibyte را ببینید.

کپی می گرداند تعداد ردیف که شامل نامعتبر UTF-8 کاراکتر، و آن را می افزاید: ورود به سیستم جدول STL_REPLACEMENTS برای هر سطری که بر، تا حداکثر 100 ردیف برای هر قطعه گره. Symtal نامعتبر UTF-8 نیز جایگزین شده است، اما آن رویدادهای جایگزینی ثبت نشده است.

اگر ACCEPTINVCHARS مشخص نشده باشد، کپی هر بار که یک شخصیت UTF-8 نامعتبر روبرو می شود خطایی را برمی گرداند.

ACCEPTINVCHARS فقط برای ستون VARCHAR معتبر است.

برای اطلاعات بیشتر، لطفا پارامترهای کپی سرخ شدن و قالب داده را ببینید.

دسترسی به داده های وارد شده

Semalt روند COPY خود را به پایان رسانده است، یک پرس و جو SELECT را اجرا کنید تا ببینید آیا همه چیز درست وارد شده است:

     SELECT * از تویت ها. آموزش LIMIT 200؛    

Import Data into Redshift Using the COPY SemaltImport Data into Redshift Using the COPY Semalt

عیب یابی

اگر هنگام اجرای دستور COPY خطایی دریافت کردید، می توانید Logs Semalt را با اجرای دستور زیر بررسی کنید:

     انتخاب * از stl_load_errors؛    

شما می توانید TeamSQL را به صورت رایگان دانلود کنید.

March 1, 2018