Mục lục
- Giới thiệu
- Chuẩn bị
- Xuất dữ liệu
- Nhập dữ liệu
- Kiểm tra dữ liệu sau khi nhập
Giới thiệu
Công cụ nhập xuất TsFile là một tính năng quan trọng của IoTDB, giúp người dùng dễ dàng thực hiện các tác vụ như sao lưu, chuyển đổi và đồng bộ hóa dữ liệu.
Chuẩn bị
Chúng ta cần chuẩn bị hai máy chủ, một máy chủ để xuất dữ liệu và một máy chủ để nhập dữ liệu.
Chuẩn bị máy chủ xuất dữ liệu
- Máy chủ này có 7 điểm dữ liệu:
[root@VM-0-3-centos apache-iotdb-1.3.1-all-bin]# bash sbin/start-cli.sh
---------------------
Bắt đầu giao diện dòng lệnh IoTDB
---------------------
_____ _________ ______ ______
|_ _| | _ _ ||_ _ `.|_ _ \
| | .--.|_/ | | \_| | | `. \ | |_) |
| | / .'`\ \ | | | | | | | __'.
_| |_| \__. | _| |_ _| |_.' /_| |__) |
|_____|'.__.' |_____| |______.'|_______/ phiên bản 1.3.1 (Build: 214695d)
Đăng nhập thành công tại 127.0.0.1:6667
IoTDB> SELECT trang_thai FROM root.kho.thiet_bi
+-----------------------------+---------------------+
| Thời gian|root.kho.thiet_bi.trang_thai|
+-----------------------------+---------------------+
|1970-01-01T08:00:00.001+08:00| 4.0|
|1970-01-01T08:00:00.002+08:00| 5.0|
|1970-01-01T08:00:00.003+08:00| 6.0|
|2024-05-04T01:35:38.608+08:00| 1.0|
|2024-05-04T01:35:45.166+08:00| 2.0|
|2024-05-04T01:35:47.096+08:00| 3.0|
|2024-05-04T01:35:56.606+08:00| 3.0|
+-----------------------------+---------------------+
Tổng số dòng = 7
Thời gian tốn: 0.469s
Chuẩn bị máy chủ nhập dữ liệu
- Máy chủ này không có bất kỳ dữ liệu nào:
[root@iZ2ze30dygwd6yh7gu6lskZ iot-db]# bash sbin/start-cli.sh
---------------------
Bắt đầu giao diện dòng lệnh IoTDB
---------------------
_____ _________ ______ ______
|_ _| | _ _ ||_ _ `.|_ _ \
| | .--.|_/ | | \_| | | `. \ | |_) |
| | / .'`\ \ | | | | | | | __'.
_| |_| \__. | _| |_ _| |_.' /_| |__) |
|_____|'.__.' |_____| |______.'|_______/ phiên bản 1.3.1 (Build: 214695d)
Đăng nhập thành công tại 127.0.0.1:6667
IoTDB> SELECT trang_thai FROM root.kho.thiet_bi
+----+
|Thời gian|
+----+
+----+
Không có kết quả.
Thời gian tốn: 0.221s
Xuất dữ liệu
Lệnh xuất dữ liệu
tools/export-tsfile.sh -h <địa chỉ IP> -p <cổng> -u <tên người dùng> -pw <mật khẩu> -td <thư mục xuất> [-f <tên tập tin xuất> -q <lệnh truy vấn> -s <tập tin SQL>]
- -h : Địa chỉ IP của dịch vụ IoTDB.
- -p : Cổng của dịch vụ IoTDB.
- -u : Tên người dùng của dịch vụ IoTDB.
- -pw : Mật khẩu của dịch vụ IoTDB.
- -td : Đường dẫn xuất cho tập tin TsFile đã được tạo ra.
- -f : Tên tập tin TsFile sẽ được tạo ra, chỉ cần viết tên tập tin, không bao gồm đường dẫn hoặc phần mở rộng. Nếu có nhiều tập tin SQL trong tập tin hoặc từ bàn phím, tập tin TsFile sẽ được tạo ra theo thứ tự của tập tin SQL.
- Ví dụ: Trong tập tin hoặc từ bàn phím có 3 câu lệnh SQL, nếu -f là "dump", thì sẽ tạo ra ba tập tin TsFile là dump0.tsfile, dump1.tsfile, dump2.tsfile.
- -q : Chỉ định câu lệnh truy vấn muốn thực hiện trong lệnh.
- Ví dụ: SELECT * FROM root.. LIMIT 100
- -s : Chỉ định một tập tin SQL chứa một hoặc nhiều câu lệnh SQL. Nếu một tập tin SQL chứa nhiều câu lệnh SQL, mỗi câu lệnh nên được phân cách bằng ký tự xuống dòng. Mỗi câu lệnh tương ứng với một tập tin TsFile đầu ra.
- -t : Thời gian hết hạn cho quá trình truy vấn session, đơn vị là miliseconds
Thực thi lệnh
[root@VM-0-3-centos apache-iotdb-1.3.1-all-bin]# bash tools/export-tsfile.sh -h 127.0.0.1 -p 6667 -u root -pw root -td ./
------------------------------------------
Bắt đầu script xuất dữ liệu IoTDB Client
------------------------------------------
ExportTsFile> vui lòng nhập câu lệnh truy vấn: SELECT trang_thai FROM root.kho.thiet_bi
SELECT trang_thai FROM root.kho.thiet_bi
12378 [main] WARN o.a.i.t.c.conf.TSFileDescriptor - Không tìm thấy iotdb-common.properties, sử dụng cấu hình mặc định.
12476 [main] INFO o.a.iotdb.tsfile.write.TsFileWriter - Bắt đầu đóng tập tin
Xuất hoàn tất! Thời gian tốn: 115 ms.
Tập tin TsFile
tump0.tsfile chính là tập tin TsFile đã được xuất.
Nhập dữ liệu
Upload tập tin TsFile
Upload tập tin tump0.tsfile đã được tạo ra từ bước trước lên máy chủ nhập dữ liệu.
Lệnh nhập dữ liệu
load '<đường dẫn/tập tin>' [sglevel=int][verify=true/false][onSuccess=delete/none]
- đường dẫn/tập tin: Đường dẫn tuyệt đối đến tập tin.
- sglevel: Khi cơ sở dữ liệu mà tập tin TsFile không tồn tại, người dùng có thể chỉ định cấp độ cơ sở dữ liệu thông qua giá trị của tham số sglevel, mặc định là cấp độ được đặt trong iotdb-datanode.properties.
- verify: Có nghĩa là kiểm tra lại tất cả các chuỗi thời gian trong tập tin TsFile đã tải lên có đúng không, mặc định là true.
- onSuccess: Phương thức xử lý khi tập tin TsFile đã tải lên thành công, mặc định là delete, tức là sau khi tập tin được tải lên thành công, nó sẽ bị xóa. Nếu chọn none, tập tin sẽ vẫn được giữ nguyên ở thư mục nguồn.
Thực thi lệnh
- Kết nối đến máy chủ
[root@iZ2ze30dygwd6yh7gu6lskZ iot-db]# bash sbin/start-cli.sh
---------------------
Bắt đầu giao diện dòng lệnh IoTDB
---------------------
_____ _________ ______ ______
|_ _| | _ _ ||_ _ `.|_ _ \
| | .--.|_/ | | \_| | | `. \ | |_) |
| | / .'`\ \ | | | | | | | __'.
_| |_| \__. | _| |_ _| |_.' /_| |__) |
|_____|'.__.' |_____| |______.'|_______/ phiên bản 1.3.1 (Build: 214695d)
Đăng nhập thành công tại 127.0.0.1:6667
- Tải lên tập tin TsFile
IoTDB> load '/home/iot-db/tump0.tsfile'
Thông báo: Câu lệnh được thực hiện thành công.
Kiểm tra dữ liệu sau khi nhập
- Kiểm tra liệu dữ liệu đã được nhập vào chưa:
IoTDB> SELECT trang_thai FROM root.kho.thiet_bi
+-----------------------------+---------------------+
| Thời gian|root.kho.thiet_bi.trang_thai|
+-----------------------------+---------------------+
|1970-01-01T08:00:00.001+08:00| 4.0|
|1970-01-01T08:00:00.002+08:00| 5.0|
|1970-01-01T08:00:00.003+08:00| 6.0|
|2024-05-04T01:35:38.608+08:00| 1.0|
|2024-05-04T01:35:45.166+08:00| 2.0|
|2024-05-04T01:35:47.096+08:00| 3.0|
|2024-05-04T01:35:56.606+08:00| 3.0|
+-----------------------------+---------------------+
Tổng số dòng = 7
Thời gian tốn: 0.245s
Tham khảo
- Công cụ nhập xuất TsFile | Trang web IoTDB