cuốn sách gpt4 ai đã làm

hadoop - Làm cách nào để thay đổi Metastore sqoop?

In lại Tác giả: Hồ Xil Thời gian cập nhật: 2023-11-01 14:20:59 26 4
mua khóa gpt4 Nike

Tôi đang sử dụng phiên bản sqoop 1.4.2. Tôi đang cố gắng thay đổi sqoop Metastore từ hsqldb mặc định sang mysql.

Tôi đã định cấu hình các thuộc tính sau trong tệp sqoop-site.xml.

    
sqoop.metastore.client.enable.autoconnect
sai
Nếu đúng, Sqoop sẽ kết nối với kho lưu trữ cục bộ
để quản lý công việc khi không có đối số di căn nào khác
cung cấp.



sqoop.metastore.client.autoconnect.url
jdbc:mysql://ip:3206/sqoop?createDatabaseIfNotExist=true


sqoop.metastore.client.autoconnect.username
tên người dùng


sqoop.metastore.client.autoconnect.password
mật khẩu


Khi tôi cố gắng tạo một công việc sqoop bằng url kết nối meta, nó không kết nối được với cơ sở dữ liệu mysql đã định cấu hình.

công việc sqoop --create --meta-connect {mysql_jdbc_url} định nghĩa công việc sqoop

Nó ném ngoại lệ sau đây.

    14/06/06 15:04:54 INFO sqoop.Sqoop: Chạy phiên bản Sqoop: 1.4.4.2.0.6.1-101
06/14/06 15:04:55 CẢNH BÁO hsqldb.HsqldbJobStorage: Không thể hiểu dưới dạng số: null
06/14/06 15:04:55 LỖI hsqldb.HsqldbJobStorage: Không thể diễn giải lược đồ siêu dữ liệu
06/14/06 15:04:55 LỖI hsqldb.HsqldbJobStorage: Phiên bản lược đồ siêu dữ liệu là rỗng
06/14/06 15:04:55 LỖI hsqldb.HsqldbJobStorage: Phiên bản cao nhất được hỗ trợ là 0
06/14/06 15:04:55 LỖI hsqldb.HsqldbJobStorage: Để sử dụng phiên bản Sqoop này, bạn phải hạ cấp lược đồ siêu dữ liệu của mình.
06/14/06 15:04:55 Công cụ LỖI.JobTool: Lỗi I/O khi thực hiện thao tác công việc: java.io.IOException: Phiên bản siêu dữ liệu không hợp lệ.
tại org.apache.sqoop.metastore.hsqldb.HsqldbJobStorage.init(HsqldbJobStorage.java:202)
tại org.apache.sqoop.metastore.hsqldb.HsqldbJobStorage.open(HsqldbJobStorage.java:161)
tại org.apache.sqoop.tool.JobTool.run(JobTool.java:274)
tại org.apache.sqoop.Sqoop.run(Sqoop.java:147)
tại org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
tại org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:183)
tại org.apache.sqoop.Sqoop.runTool(Sqoop.java:222)
tại org.apache.sqoop.Sqoop.runTool(Sqoop.java:231)
tại org.apache.sqoop.Sqoop.main(Sqoop.java:240)

sqoop 1.4.2 có hỗ trợ các kho lưu trữ khác ngoài hsql db không?

Hãy đưa ra gợi ý.

câu trả lời hay nhất

Câu trả lời là có, trong trường hợp của tôi, tôi đang sử dụng PostgreSQL. Gần đây tôi đã gặp phải vấn đề này, tôi đang sử dụng phiên bản 1.4.4. Tôi không chắc liệu những gì tôi đang làm có phải là phương pháp được đề xuất hay không, nhưng nó có hiệu quả. Đây là các bước tôi đã làm theo

  1. Trong sqoop-site.xml tôi đã định cấu hình, chuỗi, tên người dùng và mật khẩu để kết nối với cơ sở dữ liệu của tôi.

  2. Các đối tượng sau đây đã được tạo trong cơ sở dữ liệu vì Sqoop không thành công.

    Tạo bảng SQOOP_ROOT (
    Phiên bản INT,
    propname VARCHAR(128) không trống,
    Hỗ trợ VARCHAR(256),
    CONSTRAINT SQOOP_ROOT_unq UNIQUE(version, propname)
    );

  3. Hàng tiếp theo được chèn vào (đây có vẻ là lý do tại sao tập lệnh của bạn bị lỗi)

    插入
    SQOOP_ROOT
    giá trị(giá trị)(
    không hợp lệ,
    'sqoop.hsqldb.job.storage.version',
    '0'
    );

Tôi nghĩ cách tiếp cận đúng có thể là tải xuống mã nguồn và sau đó mở rộngorg.apache.sqoop.metastore.JobStorage Được triển khai với DB của bạn.

Giới thiệu về hadoop - Làm cách nào để thay đổi sqoop Metastore? , chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/24078668/

26 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress