Rain Client
1. Rain Client
Rain Client 是算场提供的shell终端程序,用户可以通过Rain Client实现数据上传与下载、sql交互式执行(todo)
2. 安装Rain Client
2.1 基本环境
编译环境:JDK8 + maven3x
运行环境:JDK8
2.2 获取源码(todo 项目传到github)
git clone git@code.suan-chang.com:rain-lake/rainsqlclient.git
2.3 编译打包
cd rainsqlclient
mvn clean package -DSkipTests
2.4 解压程序
unzip target/rainSqlClient-1.0-SNAPSHOT-bin.zip -d rainclient
cd rainSqlClient
2.5 启动服务
chmod +x RainSQL
bash RainSQL
2.6 登录算场
根据提示 依次输出用户的算场信息 包括Server地址
用户名
密码
数据中心id
组织id
其中数据中心id
组织id
默认为空,此时将使用上一次登录的数据中心id
组织id
当看到如下提示,即登陆成功
___ _ __ __ __
/ _ \___ _(_)__ / // /_ __/ /
/ , _/ _ `/ / _ \/ _ / // / _ \
/_/|_|\_,_/_/_//_/_//_/\_,_/_.__/
Welcome to Rainhub at 2024-10-12 16:57:27 !
[userName@example.com @127.0.0.1:4001] rainhub>
3.命令列表
help
查看已支持的命令
命令 | 使用方式 | 描述 |
---|---|---|
loadtable | loadtable <database.table> <file_path> |<file_folder> [description] [overwrite] | 将文件上传到数据库表(如果表不存在) |
upload | upload <database.table> <file_path> |<file_folder> | 将文件上传到数据库表(如果表已存在) |
download | download <database.table> <file_path> | 从数据库表下载文件 |
exit | exit | 退出 Rainhub |
4. 操作示例
4.1 loadtable
准备user1.csv user2.csv数据到~/data/目录下
cat > ~/data/user1.csv << EOF
ID,name
1,zhangsan
EOF
cat > ~/data/user2.csv << EOF
ID,name
2,lisi
EOF
在Rain Client中执行 并且返回load table successfully.
此时在算场中创建test.user表 并且user1.csv的数据导入到该表
loadtable test.user ~/data/user1.csv
另外如果想将~/data目录下的user1.csv和user2.csv同时导入test.userDir表中,执行
loadtable test.userDir ~/data/
注意: loadtable
会创建表并且导入数据,所以请确保用户的算场仓库中没有该表,否则会报错,如果需要向已存在的表中导入数据则使用upload
命令
4.2 upload
在算场中创建表test.user1 创建流程参考CreateTable
准备user1.csv user2.csv数据到~/data/目录下
cat > ~/data/user1.csv << EOF
ID,name
1,zhangsan
EOF
cat > ~/data/user2.csv << EOF
ID,name
2,lisi
EOF
将 ~/data/user1.csv导入该表
upload test.user1 ~/data/user1.csv
将 ~/data目录下所有文件导入该表
upload test.user1 ~/data
返回upload file successfully.
即说明数据导入成功
4.3 download
将4.2的test.user1表下载到~/data/user.json文件 在RainClient中执行
download test.user1 ~/data/user.json
返回download file successfully.
即表示下载数据成功
此时查看本地数据
cat ~/data/user.json
返回结果为
[{"ID":1,"name":"zhangsan"},
{"ID":1,"name":"zhangsan"},
{"ID":2,"name":"lisi"}]
4.4 exit
退出RainClient
[userName@example.com @127.0.0.1:4001] rainhub> exit
Thank you for using Rainhub. Have a nice day!
5.Docker使用
RainClient同样支持docker镜像使用 镜像地址为
registry.cn-beijing.aliyuncs.com/suanchang/rainsql
注意: docker环境中的路径和本地环境的路径需要指定映射关系,如果想使用docker中的RainClient进行本教程的操作实例 可以用过下面的docker-compose.yml启动RainClient
创建docker-compose.yml
vim ~/docker-compose.yml
内容为:
version: '2.1'
services:
rainsqlclient:
image: registry.cn-beijing.aliyuncs.com/suanchang/rainsql
volumes:
- $HOME/data:$HOME/data
启动docker-compose.yml
docker-compose up
即可执行本教程的操作示例