qiaojialin commented on a change in pull request #444: Add python client 
example in user guide
URL: https://github.com/apache/incubator-iotdb/pull/444#discussion_r333896921
 
 

 ##########
 File path: docs/Documentation-CHN/OtherMaterial-Examples.md
 ##########
 @@ -81,3 +81,172 @@ public class IotdbHelloWorld {
 
 
 ```
+# 使用Python进行连接
+## 介绍
+以下例子展示了如何使用Thrift编译出Python的库,并调用该库连接IoTDB并进行一些基本操作。在Windows和Linux上的
+使用大同小异,但请注意二者在路径等方面的细微区别。
+
+## Prerequisites
+建议使用python3.7或更高级的版本。
+
+您需要预先安装Thrift才能将我们的Thrift源文件编译为Python的库代码。下面是Thrift的官方安装教程,最终,您需要
+得到一个Thrift的二进制可执行文件。
+```
+http://thrift.apache.org/docs/install/
+```
+
+## Compile the thrift library
+如果您已经将Thrift的可执行文件放到了您的PATH环境变量的目录下,您可以直接运行脚本`client-py/compile.sh`或
+`client-py/compile.bat`,否则您需要修改脚本中的变量`THRIFT_EXE`来指向您的Thrift可执行文件。这会在脚本文件
+的同一目录下生成`target`文件夹,该文件夹即包含了IoTDB的Python版本的Thrift库,当您将该文件夹加入到您的`PYTHONPATH`
+环境变量里后,您就可以在自己的代码中引用该库。请注意,上述脚本通过相对路径寻找我们的Thrift的源文件,如果您改变
+脚本所在位置,脚本可能失效。
+
+或者,如果您对Thrift的基本用法有所了解,您就不需要下载整个项目,您可以仅下载我们的Thrift源文件`service-rpc\src\main\thrift\rpc.thrift`,
+并使用命令`thrift -gen py -out ./target rpc.thrift`来编译Thrift库。
+
+## Example
+下面是一段使用生成的Thrift库连接IoTDB的示例代码,请在编写您自己的代码之前仔细地阅读。
+```python
+
+import sys, struct
+sys.path.append("../target")
+
+from thrift.protocol import TBinaryProtocol
+from thrift.transport import TSocket, TTransport
+
+from rpc.TSIService import Client, TSCreateTimeseriesReq, TSInsertionReq, \
+    TSBatchInsertionReq, TSExecuteStatementReq, \
+    TS_SessionHandle, TSHandleIdentifier, TSOpenSessionReq, TSQueryDataSet, \
+    TSFetchResultsReq, TSCloseOperationReq, \
+    TSCloseSessionReq, TSProtocolVersion
+
+TSDataType = {
+    'BOOLEAN' : 0,
+    'INT32' : 1,
+    'INT64' : 2,
+    'FLOAT' : 3,
+    'DOUBLE' : 4,
+    'TEXT' : 5
+}
+
+TSEncoding = {
+    'PLAIN' : 0,
+    'PLAIN_DICTIONARY' : 1,
+    'RLE' : 2,
+    'DIFF' : 3,
+    'TS_2DIFF' : 4,
+    'BITMAP' : 5,
+    'GORILLA' : 6,
+    'REGULAR' : 7
+}
+
+Compressor = {
+    'UNCOMPRESSED' : 0,
+    'SNAPPY' : 1,
+    'GZIP' : 2,
+    'LZO' : 3,
+    'SDT' : 4,
+    'PAA' : 5,
+    'PLA' : 6
+}
+
+
+if __name__ == '__main__':
+    ip = "localhost"
+    port = "6667"
+    username = 'root'
+    password = 'root'
+    # Make socket
+    transport = TSocket.TSocket(ip, port)
+
+    # Buffering is critical. Raw sockets are very slow
 
 Review comment:
   in Chinese?

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to