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/15 09:29:49 UTC

[incubator-iotdb] branch master 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 master
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git


The following commit(s) were added to refs/heads/master by this push:
     new 3cf4eea  updated python client to ver-0.10
3cf4eea is described below

commit 3cf4eea096dae25b046ee5ebd3601f3816c49f88
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,