2017-09-07 2 views
0

J'ai créé un cluster et connecté à la base de données via SQL Workbench, mais comment puis-je télécharger des données via SQL vers Amazon Redshift?Comment télécharger des données via SQL vers Amazon Redshift?

Je suppose que je dois utiliser Amazon S3, mais je n'ai pas pu trouver un exemple de vidéo ou de texte qui le décrit bien.

+0

Vous voulez mettre des données dans Redshift? Oui, vous devez utiliser S3 et exécuter une commande COPY. Plusieurs documentations disponibles. –

+0

@JonEkiz il n'y a pas d'autre moyen? – Frollo

Répondre

1

Il existe deux façons d'insérer des informations dans Amazon Redshift:

  • Via la commande COPY
  • Via INSERT déclarations

Il est pas recommandé d'utiliser INSERT déclarations parce qu'ils sont pas efficace pour les grands volumes de données. Ils sont autorisés à effectuer des processus de type ETL tels que la copie de données entre des tables, mais en règle générale, les données doivent être chargées via COPY.

Comme par Using a COPY Command to Load Data, la commande COPY peut charger des données à partir de:

  • Amazon S3 (recommandé, hautement parallèle)
  • Amazon EMR (Hadoop)
  • Amazon DynamoDB
  • Via SSH de distance hôtes

La charge d'Amazon S3 est effectuée en parallèle sur tous les nœuds et est le moyen le plus efficace pour charger des données.

Le Amazon Redshift COPY command peut lire plusieurs formats de fichiers:

  • Délimité (par exemple CSV)
  • Largeur fixe
  • AVRO
  • JSON
  • Et ces formats peuvent également être compressés (par exemple gzip)

Bottom line: Obtenez vos données dans Amazon S3 dans un format compatible, puis utilisez COPY pour le charger.

Essayez également de comprendre les codes DISTKEY et SORTKEY pour bénéficier pleinement des avantages de Redshift. Bien lire le manuel - il vous fera gagner plus de temps qu'il n'en faut pour lire!

+0

Eh bien, j'ai un fichier sql 5 Go. D'après ce que je comprends, nous allons d'abord déposer ce fichier sur S3 et ensuite utiliser la méthode de copie pour récupérer les données de S3. – Frollo

+1

Que voulez-vous dire par un "fichier sql"? Quel est le format des données dans le fichier? Et oui, vous mettez les données dans un compartiment S3, puis exécutez la commande 'COPY' dans Redshift pour importer les données. Si vous débutez avec Redshift, essayez le [Introduction au laboratoire à progression automatique Amazon Redshift] (https: //amazon.qwiklabs.com/focus/2366) (c'est gratuit). –