PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

RPostgreSQL - Amazon Redshift से R कनेक्शन - बड़े डेटा सेट कैसे लिखें/पोस्ट करें?

ओपी के लिए बहुत देर हो सकती है, लेकिन अगर किसी को एक ही समस्या मिलती है तो मैं इसे भविष्य के संदर्भ के लिए यहां पोस्ट करूंगा:

बल्क इंसर्ट करने के चरण हैं:

  • मेरे डेटा फ़्रेम के समान संरचना के साथ Redshift में एक तालिका बनाएं
  • डेटा को N भागों में विभाजित करें
  • भागों को रेडशिफ्ट द्वारा पठनीय प्रारूप में परिवर्तित करें
  • सभी भागों को Amazon S3 पर अपलोड करें
  • COPY स्टेटमेंट को Redshift पर रन करें
  • Amazon S3 पर अस्थायी फ़ाइलें हटाएं

मैंने एक R पैकेज बनाया है जो पहले चरण को छोड़कर, ठीक यही करता है, और इसे redshiftTools कहा जाता है:https://github.com/sicarul/redshiftTools

पैकेज को स्थापित करने के लिए, आपको यह करना होगा:

install.packages('devtools')
devtools::install_github("RcppCore/Rcpp")
devtools::install_github("rstats-db/DBI")
devtools::install_github("rstats-db/RPostgres")
devtools::install_github("hadley/xml2")
install.packages("aws.s3", repos = c(getOption("repos"), "http://cloudyr.github.io/drat"))
devtools::install_github("sicarul/redshiftTools")

बाद में, आप इसे इस तरह इस्तेमाल कर पाएंगे:

library("aws.s3")
library(RPostgres)
library(redshiftTools)

con <- dbConnect(RPostgres::Postgres(), dbname="dbname",
host='my-redshift-url.amazon.com', port='5439',
user='myuser', password='mypassword',sslmode='require')

rs_replace_table(my_data, dbcon=con, tableName='mytable', bucket="mybucket")
rs_upsert_table(my_other_data, dbcon=con, tableName = 'mytable', bucket="mybucket", keys=c('id', 'date'))

rs_replace_table लक्ष्य तालिका को काटता है और फिर इसे पूरी तरह से डेटा फ्रेम से लोड करता है, केवल तभी ऐसा करें जब आपको वर्तमान डेटा की परवाह न हो। दूसरी ओर, rs_upsert_table उन पंक्तियों को बदल देता है जिनमें मेल खाने वाली कुंजियाँ होती हैं, और जो तालिका में मौजूद नहीं होती हैं उन्हें सम्मिलित करता है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. RDS पोस्टग्रेज डेटाबेस को pg_dump कैसे करें?

  2. RedHat Linux पर एकाधिक PostgreSQL सर्वर कैसे स्थापित करें

  3. कई-से-अनेक SQL-कीमिया और Postgresql से हटाना

  4. कैसे Heroku पर स्थायी फ़ाइलें बनाने के लिए?

  5. विंडो फ़ंक्शन पर SQL कंडीशन