| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you under the Apache License, Version 2.0 (the |
| # "License"); you may not use this file except in compliance |
| # with the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, |
| # software distributed under the License is distributed on an |
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| # KIND, either express or implied. See the License for the |
| # specific language governing permissions and limitations |
| # under the License. |
| # |
| |
| # Uncomment the following line to use apache-iotdb module installed by pip3 |
| import numpy as np |
| from datetime import date |
| from iotdb.Session import Session |
| from iotdb.utils.BitMap import BitMap |
| from iotdb.utils.IoTDBConstants import TSDataType, TSEncoding, Compressor |
| from iotdb.utils.Tablet import Tablet |
| from iotdb.utils.NumpyTablet import NumpyTablet |
| |
| # creating session connection. |
| ip = "127.0.0.1" |
| port_ = "6667" |
| username_ = "root" |
| password_ = "root" |
| # session = Session(ip, port_, username_, password_, fetch_size=1024, zone_id="Asia/Shanghai", enable_redirection=True) |
| session = Session.init_from_node_urls( |
| node_urls=["127.0.0.1:6667", "127.0.0.1:6668", "127.0.0.1:6669"], |
| user="root", |
| password="root", |
| fetch_size=1024, |
| zone_id="Asia/Shanghai", |
| enable_redirection=True, |
| ) |
| session.open(False) |
| |
| # create and delete databases |
| session.set_storage_group("root.sg_test_01") |
| |
| # setting time series. |
| session.create_time_series( |
| "root.sg_test_01.d_01.s_01", TSDataType.BOOLEAN, TSEncoding.PLAIN, Compressor.SNAPPY |
| ) |
| |
| # insert tablet with new data types |
| measurements_new_type = ["s_01", "s_02", "s_03", "s_04"] |
| data_types_new_type = [ |
| TSDataType.DATE, |
| TSDataType.TIMESTAMP, |
| TSDataType.BLOB, |
| TSDataType.STRING, |
| ] |
| values_new_type = [ |
| [date(2024, 1, 1), 1, b"\x12\x34", "test01"], |
| [date(2024, 1, 2), 2, b"\x12\x34", "test02"], |
| [date(2024, 1, 3), 3, b"\x12\x34", "test03"], |
| [date(2024, 1, 4), 4, b"\x12\x34", "test04"], |
| ] |
| timestamps_new_type = [1, 2, 3, 4] |
| tablet_new_type = Tablet( |
| "root.sg_test_01.d_04", |
| measurements_new_type, |
| data_types_new_type, |
| values_new_type, |
| timestamps_new_type, |
| ) |
| session.insert_tablet(tablet_new_type) |
| np_values_new_type = [ |
| np.array([date(2024, 2, 4), date(2024, 3, 4), date(2024, 4, 4), date(2024, 5, 4)]), |
| np.array([5, 6, 7, 8], TSDataType.INT64.np_dtype()), |
| np.array([b"\x12\x34", b"\x12\x34", b"\x12\x34", b"\x12\x34"]), |
| np.array(["test01", "test02", "test03", "test04"]), |
| ] |
| np_timestamps_new_type = np.array([5, 6, 7, 8], TSDataType.INT64.np_dtype()) |
| np_tablet_new_type = NumpyTablet( |
| "root.sg_test_01.d_04", |
| measurements_new_type, |
| data_types_new_type, |
| np_values_new_type, |
| np_timestamps_new_type, |
| ) |
| session.insert_tablet(np_tablet_new_type) |
| with session.execute_query_statement( |
| "select s_01 from root.sg_test_01.d_04 limit 1" |
| ) as dataset: |
| print(dataset.get_column_names()) |
| while dataset.has_next(): |
| print(dataset.next()) |
| |
| with session.execute_query_statement( |
| "select s_01 from root.sg_test_01.d_04 limit 1" |
| ) as dataset: |
| df = dataset.todf() |
| print(df.to_string()) |
| |
| # delete database |
| session.delete_storage_group("root.sg_test_01") |
| |
| # close session connection. |
| session.close() |
| |
| print("All executions done!!") |