You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by hx...@apache.org on 2020/06/12 13:09:04 UTC
[incubator-iotdb] branch rel/0.10 updated: updated python client to
ver-0.10
This is an automated email from the ASF dual-hosted git repository.
hxd pushed a commit to branch rel/0.10
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git
The following commit(s) were added to refs/heads/rel/0.10 by this push:
new a1b35bd updated python client to ver-0.10
a1b35bd is described below
commit a1b35bdaa4eac9114834ff6f50dc2ae37577f6e0
Author: Zekun Li <lz...@gmail.com>
AuthorDate: Fri Jun 12 18:27:01 2020 +0800
updated python client to ver-0.10
---
client-py/src/client_example.py | 64 +++++++++++++++++++++++++++--------------
1 file changed, 42 insertions(+), 22 deletions(-)
diff --git a/client-py/src/client_example.py b/client-py/src/client_example.py
index 42119ee..3c8f65a 100644
--- a/client-py/src/client_example.py
+++ b/client-py/src/client_example.py
@@ -16,7 +16,8 @@
# under the License.
#
-import sys, struct
+import sys
+import struct
# If you generate IoTDB python library manually, add it to your python path
sys.path.append("../target")
@@ -142,9 +143,15 @@ def convertQueryDataSet(queryDataSet, dataTypeList):
return records
+def valueListToBytes(values, dataTypes):
+ valueByte = bytearray();
+ for value, dataType in enumerate(values, dataTypes):
+ pass
+ return valueByte
+
if __name__ == '__main__':
- ip = "localhost"
+ ip = "127.0.0.1"
port = "6667"
username = 'root'
password = 'root'
@@ -180,7 +187,7 @@ if __name__ == '__main__':
# create a storage group
status = client.setStorageGroup(sessionId, "root.group1")
- print(status.statusType)
+ print(status.message)
# create timeseries
status = client.createTimeseries(TSCreateTimeseriesReq(sessionId,
@@ -188,47 +195,60 @@ if __name__ == '__main__':
TSDataType['INT64'],
TSEncoding['PLAIN'],
Compressor['UNCOMPRESSED']))
- print(status.statusType)
+ print(status.message)
status = client.createTimeseries(TSCreateTimeseriesReq(sessionId,
"root.group1.s2",
TSDataType['INT32'],
TSEncoding['PLAIN'],
Compressor['UNCOMPRESSED']))
- print(status.statusType)
+ print(status.message)
status = client.createTimeseries(TSCreateTimeseriesReq(sessionId,
"root.group1.s3",
TSDataType['DOUBLE'],
TSEncoding['PLAIN'],
Compressor['UNCOMPRESSED']))
- print(status.statusType)
+ print(status.message)
status = client.createTimeseries(TSCreateTimeseriesReq(sessionId,
"root.group1.s4",
TSDataType['FLOAT'],
TSEncoding['PLAIN'],
Compressor['UNCOMPRESSED']))
- print(status.statusType)
+ print(status.message)
status = client.createTimeseries(TSCreateTimeseriesReq(sessionId,
"root.group1.s5",
TSDataType['BOOLEAN'],
TSEncoding['PLAIN'],
Compressor['UNCOMPRESSED']))
- print(status.statusType)
+ print(status.message)
status = client.createTimeseries(TSCreateTimeseriesReq(sessionId,
"root.group1.s6",
TSDataType['TEXT'],
TSEncoding['PLAIN'],
Compressor['UNCOMPRESSED']))
- print(status.statusType)
+ print(status.message)
deviceId = "root.group1"
measurements = ["s1", "s2", "s3", "s4", "s5", "s6"]
# insert a single row
- values = ["1", "11", "1.1", "11.1", "TRUE", "\'text0\'"]
+ values = [1, 11, 1.1, 11.1, True, "\'text0\'"]
+ dataTypes = [TSDataType['INT32'], TSDataType['INT32'], TSDataType['FLOAT'],
+ TSDataType['FLOAT'], TSDataType['BOOLEAN'], TSDataType['TEXT']]
+
+ value_pack_str = '>5ififibi7s'
+ encoding = 'utf-8'
+ valueByte = bytearray()
+
+ valueByte.extend(struct.pack(value_pack_str,dataTypes[0], values[0],
+ dataTypes[1], values[1],
+ dataTypes[2], values[2],
+ dataTypes[3], values[3],
+ dataTypes[4], values[4],
+ dataTypes[5], bytes(values[5], encoding)))
timestamp = 1
- status = client.insert(TSInsertRecordReq(sessionId, deviceId, measurements,
- values, timestamp))
- print(status.status)
+
+ status = client.insertRecord(TSInsertRecordReq(sessionId, deviceId, measurements, valueByte, timestamp))
+ print(status.message)
# insert multiple rows, this interface is more efficient
values = bytearray()
@@ -258,14 +278,14 @@ if __name__ == '__main__':
resp = client.insertTablet(TSInsertTabletReq(sessionId,deviceId,
measurements, values,
times, dataTypes, rowCnt))
- status = resp.status
- print(status.statusType)
+ status = resp.statusList
+ print(status[0].message)
# execute deletion (or other statements)
resp = client.executeStatement(TSExecuteStatementReq(sessionId, "DELETE FROM "
"root.group1 where time < 2", stmtId))
status = resp.status
- print(status.statusType)
+ print(status.message)
# query the data
stmt = "SELECT * FROM root.group1"
@@ -278,12 +298,12 @@ if __name__ == '__main__':
print(dataTypeList)
status = resp.status
- print(status.statusType)
+ print(status.message)
queryId = resp.queryId
while True:
rst = client.fetchResults(TSFetchResultsReq(sessionId, stmt, fetchSize,
- queryId)).queryDataSet
+ queryId, True)).queryDataSet
records = convertQueryDataSet(rst, dataTypeList)
if len(records) == 0:
break
@@ -297,20 +317,20 @@ if __name__ == '__main__':
# query metadata
metaReq = TSFetchMetadataReq(sessionId=sessionId, type=MetaQueryTypes.CATALOG_DEVICES)
- print(client.fetchMetadata(metaReq).devices)
+ print(client.fetchMetadata(metaReq).status)
metaReq = TSFetchMetadataReq(sessionId=sessionId,
type=MetaQueryTypes.CATALOG_TIMESERIES,
columnPath='root')
- print(client.fetchMetadata(metaReq).timeseriesList)
+ #print(client.fetchMetadata(metaReq).timeseriesList)
metaReq = TSFetchMetadataReq(sessionId=sessionId,
type=MetaQueryTypes.CATALOG_CHILD_PATHS,
columnPath='root')
- print(client.fetchMetadata(metaReq).childPaths)
+ #print(client.fetchMetadata(metaReq).childPaths)
metaReq = TSFetchMetadataReq(sessionId=sessionId, type=MetaQueryTypes.CATALOG_STORAGE_GROUP)
- print(client.fetchMetadata(metaReq).storageGroups)
+ #print(client.fetchMetadata(metaReq).storageGroups)
metaReq = TSFetchMetadataReq(sessionId=sessionId,
type=MetaQueryTypes.CATALOG_COLUMN,