PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Chèn dữ liệu Phân tích từ Spark vào Postgres

Tại thời điểm này, không có triển khai gốc nào của việc ghi RDD vào bất kỳ DBMS nào. Dưới đây là các liên kết đến các cuộc thảo luận liên quan trong danh sách người dùng Spark: một , hai

Nói chung, cách tiếp cận hiệu quả nhất sẽ là:

  1. Xác thực số lượng phân vùng trong RDD, nó không được quá thấp và quá cao. 20-50 phân vùng sẽ ổn, nếu số lượng thấp hơn - hãy gọi repartition với 20 phân vùng, nếu cao hơn - hãy gọi coalesce đến 50 phân vùng
  2. Gọi mapPartition chuyển đổi, bên trong nó gọi hàm để chèn các bản ghi vào DBMS của bạn bằng cách sử dụng JDBC. Trong hàm này, bạn mở kết nối với cơ sở dữ liệu của mình và sử dụng lệnh COPY với API này , nó sẽ cho phép bạn loại bỏ sự cần thiết phải có một lệnh riêng biệt cho mỗi bản ghi - theo cách này, việc chèn sẽ được xử lý nhanh hơn nhiều

Bằng cách này, bạn sẽ chèn dữ liệu vào Postgres theo cách song song sử dụng tối đa 50 kết nối song song (phụ thuộc vào kích thước cụm Spark của bạn và cấu hình của nó). Toàn bộ cách tiếp cận có thể được triển khai dưới dạng một hàm Java / Scala chấp nhận RDD và chuỗi kết nối



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Biên dịch libpq với iOS SDK 4.2

  2. Làm cách nào để chèn một Điểm HÌNH HỌC PostGIS trong ORM trình tự?

  3. Không kết nối được máy chủ AWS-Postgres với ứng dụng khởi động mùa xuân với lưu trữ heroku

  4. Làm cách nào để truy vấn một chuỗi từ JSON dựa trên một chuỗi khác trong JSON trong PostgreSQL?

  5. Nâng cấp lên PostgreSQL 11 với Logical Replication