Lỗi khóa trùng lặp python
Tải dữ liệu vào bảng từ tệp dữ liệu hoặc từ bảng Amazon DynamoDB. Các tệp có thể nằm trong bộ chứa Amazon Simple Storage Service (Amazon S3), cụm Amazon EMR hoặc máy chủ từ xa được truy cập bằng kết nối Secure Shell (SSH) Các bảng bên ngoài của Amazon Redshift Spectrum ở chế độ chỉ đọc. Bạn không thể SAO CHÉP vào một bảng bên ngoài Lệnh COPY nối thêm dữ liệu đầu vào mới vào bất kỳ hàng hiện có nào trong bảng Kích thước tối đa của một hàng đầu vào từ bất kỳ nguồn nào là 4 MB Để sử dụng lệnh COPY, bạn phải có đặc quyền INSERT cho bảng Amazon Redshift COPY cú pháp
COPY tổng quan về cú phápBạn có thể thực hiện thao tác SAO CHÉP chỉ với ba tham số. tên bảng, nguồn dữ liệu và quyền truy cập dữ liệu Amazon Redshift mở rộng chức năng của lệnh COPY để cho phép bạn tải dữ liệu ở một số định dạng dữ liệu từ nhiều nguồn dữ liệu, kiểm soát quyền truy cập vào dữ liệu tải, quản lý chuyển đổi dữ liệu và quản lý hoạt động tải Phần này trình bày các tham số lệnh COPY cần thiết và nhóm các tham số tùy chọn theo chức năng. Các chủ đề tiếp theo mô tả từng tham số và giải thích cách các tùy chọn khác nhau hoạt động cùng nhau. Bạn cũng có thể trực tiếp đến phần mô tả tham số bằng cách sử dụng danh sách tham số theo thứ tự bảng chữ cái Thông số bắt buộcLệnh COPY yêu cầu ba yếu tố Lệnh COPY đơn giản nhất sử dụng định dạng sau
Ví dụ sau tạo một bảng có tên là CATDEMO, sau đó tải bảng này với dữ liệu mẫu từ một tệp dữ liệu trong Amazon S3 có tên là
Trong ví dụ sau, nguồn dữ liệu cho lệnh COPY là một tệp dữ liệu có tên
Để biết các bước tạo vai trò IAM, hãy xem Bước 2. Tạo Vai trò IAM trong Hướng dẫn Bắt đầu Amazon Redshift. Để biết hướng dẫn đầy đủ về cách sử dụng lệnh COPY để tải dữ liệu mẫu, bao gồm hướng dẫn tải dữ liệu từ các khu vực AWS khác, hãy xem Bước 6. Tải dữ liệu mẫu từ Amazon S3 trong Hướng dẫn bắt đầu sử dụng Amazon Redshift tên bảng Tên của bảng đích cho lệnh COPY. Bảng phải tồn tại trong cơ sở dữ liệu. Bảng có thể là tạm thời hoặc liên tục. Lệnh COPY nối thêm dữ liệu đầu vào mới vào bất kỳ hàng hiện có nào trong bảng TỪ nguồn dữ liệuVị trí của dữ liệu nguồn sẽ được tải vào bảng đích. Tệp kê khai có thể được chỉ định với một số nguồn dữ liệu Kho lưu trữ dữ liệu được sử dụng phổ biến nhất là bộ chứa Amazon S3. Bạn cũng có thể tải từ các tệp dữ liệu nằm trong cụm Amazon EMR, phiên bản Amazon EC2 hoặc máy chủ từ xa mà cụm của bạn có thể truy cập bằng kết nối SSH hoặc bạn có thể tải trực tiếp từ bảng DynamoDB Một mệnh đề chỉ ra phương thức mà cụm của bạn sử dụng để xác thực và ủy quyền truy cập các tài nguyên AWS khác. Lệnh COPY cần được ủy quyền để truy cập dữ liệu trong một tài nguyên AWS khác, bao gồm trong Amazon S3, Amazon EMR, Amazon DynamoDB và Amazon EC2. Bạn có thể cung cấp quyền đó bằng cách tham chiếu vai trò IAM được đính kèm với cụm của bạn hoặc bằng cách cung cấp ID khóa truy cập và khóa truy cập bí mật cho người dùng IAM thông số tùy chọnBạn có thể tùy chọn chỉ định cách COPY ánh xạ dữ liệu trường tới các cột trong bảng đích, xác định các thuộc tính dữ liệu nguồn để cho phép lệnh COPY đọc và phân tích cú pháp dữ liệu nguồn một cách chính xác, đồng thời quản lý các thao tác mà lệnh COPY thực hiện trong quá trình tải ánh xạ cộtTheo mặc định, COPY chèn các giá trị trường vào các cột của bảng đích theo cùng thứ tự như các trường xuất hiện trong tệp dữ liệu. Nếu thứ tự cột mặc định không hoạt động, bạn có thể chỉ định danh sách cột hoặc sử dụng biểu thức JSONPath để ánh xạ trường dữ liệu nguồn tới cột đích Thông số định dạng dữ liệuBạn có thể tải dữ liệu từ các tệp văn bản ở định dạng chiều rộng cố định, được phân tách bằng ký tự, được phân tách bằng dấu phẩy (CSV) hoặc định dạng JSON hoặc từ các tệp Avro Theo mặc định, lệnh COPY yêu cầu dữ liệu nguồn ở dạng tệp văn bản UTF-8 được phân tách bằng ký tự. Dấu phân cách mặc định là một ký tự ống (. ). Nếu dữ liệu nguồn ở định dạng khác, hãy sử dụng các tham số sau để chỉ định định dạng dữ liệu Thông số chuyển đổi dữ liệuKhi nó tải bảng, COPY cố gắng chuyển đổi hoàn toàn các chuỗi trong dữ liệu nguồn sang kiểu dữ liệu của cột đích. Nếu bạn cần chỉ định một chuyển đổi khác với hành vi mặc định hoặc nếu chuyển đổi mặc định dẫn đến lỗi, bạn có thể quản lý chuyển đổi dữ liệu bằng cách chỉ định các tham số sau Hoạt động tải dữ liệuQuản lý hành vi mặc định của hoạt động tải để khắc phục sự cố hoặc để giảm thời gian tải bằng cách chỉ định các tham số sau |