Clickhouse的高度数据集
altinity-datasets的Python项目详细描述
clickhouse的高度数据集
欢迎!高度数据集
加载ClickHouse的测试数据集。它是
受python库的启发,python库可以自动加载标准数据集
用于快速测试。
开始
Altinity数据集需要Python3.5或更高版本。clickhouse客户端 可执行文件必须位于加载数据的路径中。
在开始之前,必须使用 PIP3下面的示例演示如何安装到python虚拟环境中。 只有在您还没有clickhouse客户端时,才需要第一个命令 安装在主机上。
sudo apt install clickhouse-client
sudo pip3 install altinity-datasets
许多用户更愿意安装在python3虚拟环境中, 例如:
python3 -m venv my-env
. my-env/bin/activate
pip3 install altinity-datasets
您还可以直接从github安装当前版本:
pip3 install git+https://github.com/altinity/altinity-datasets.git
要删除高度数据集,请运行以下命令:
pip3 uninstall altinity-datasets
使用数据集
ad cli
命令管理数据集。您可以通过
键入ad cli-h/--help
。所有子命令也接受-h/--help选项。
上市回购
让我们先列出repo,它们是包含数据集的位置。
ad-cli repo list
这将返回包含数据集的回购列表。暂时在那里 只是一个内置的回购协议,是Altinity数据集包的一部分。
查找数据集
接下来让我们看看可用的数据集。
ad-cli dataset search
这将为您提供一个包含详细说明的数据集列表。你可以
通过键入名称将搜索限制为单个数据集,例如
ad cli search wine
。您还可以使用回购协议搜索其他回购协议
文件系统位置,例如,ad cli search wine--repo path=$home/myrepo
加载数据集
现在,让我们加载一个数据集。下面是加载iris数据集的命令 在本地主机上运行的clickhouse服务器。
ad-cli dataset load iris
这里有一个更复杂的例子。它将iris数据集加载到iris新的
远程服务器上的数据库。此外,我们还使用10个线程对上载进行了并行处理。
ad-cli load iris --database=iris_new --host=my.remote.host.com --parallel=10
上面显示的命令是加载到 具有大量核心和快速存储的服务器。
注意,在开发过程中重新加载数据集是很常见的。
您可以使用ad cli load--clean来执行此操作。重要提示:这会使
删除数据集表的数据库。如果你有其他的桌子
同样的数据库也会被删除。
转储数据集
您可以从clickhouse中的任何现有表生成数据集。 位于单个数据库中的。下面是一个简单的例子 如何转储天气数据集以创建新数据集。(天气) 数据集是一个内置的,默认情况下加载到天气数据库中。)
ad-cli dataset dump weather
还有其他选项可用于控制数据集转储。例如, 我们可以重命名日期集,将转储限制为以 "中心",压缩数据并覆盖输出中的任何现有数据 目录。
sudo apt install clickhouse-client
sudo pip3 install altinity-datasets
0
附加连接选项
默认情况下,数据集加载和转储命令连接到clickhouse 使用默认用户和空密码在本地主机上运行。以下 示例选项使用加密通信连接到 具有显式用户名和密码的服务器。最后一个选项不显示 证书验证。
sudo apt install clickhouse-client
sudo pip3 install altinity-datasets
1
注意:要使用--no验证,还必须确保clickhouse客户端 配置为接受无效证书。通过使用登录进行验证 使用--secure选项单击house client。检查并更正设置 如果有问题,请输入/etc/clickhouse client/config.xml。
回购和数据集格式
repo是文件系统上的目录。回购的确切位置是 称为回购路径。数据SE回购协议下的ts是 依次有ddl命令和数据的子目录。下表 显示了内置repo的部分组织结构。
sudo apt install clickhouse-client
sudo pip3 install altinity-datasets
2
要创建自己的数据集,可以使用ad cli dataset dump
转储现有表,或者复制内置的示例。格式很简单。
- manifest.yaml文件描述数据集。如果你在额外的领域 它们将被忽略。
- ddl目录包含要运行的sql脚本。按照惯例,这些 为它们创建的对象(即表)命名。
- 数据目录包含csv数据。有一个单独的子目录 对于要加载的每个表。其名称必须与表名完全匹配。
- csv文件可以是未压缩的.csv或gzipped.csv.gz。没有其他格式 支持,并且必须正确指定文件类型。
你可以在任何地方放置新的回购协议。从你的 own repo运行load命令并使用--repo path选项指向 回购地点。下面是一个示例:
sudo apt install clickhouse-client
sudo pip3 install altinity-datasets
3
开发
从github克隆并安装altinity数据集。
sudo apt install clickhouse-client
sudo pip3 install altinity-datasets
4
更改后,您应该运行测试。
sudo apt install clickhouse-client
sudo pip3 install altinity-datasets
5
以下命令构建一个可安装的并推送到pypi.org。 必须在tween_用户名和tween_密码中设置pypi帐户凭据。
sudo apt install clickhouse-client
sudo pip3 install altinity-datasets
6
使用yapf和flake8强制执行代码约定。运行 dev-format-code.sh检查格式的脚本。
使用虚拟环境集运行以下测试。你需要一个 单击默认用户密码为空的家庭服务器。
sudo apt install clickhouse-client
sudo pip3 install altinity-datasets
7
错误
过期的pip3导致安装失败
如果pip3安装时显示消息error:invalid command'bdist_wheel'
则
可能需要升级pip。运行pip3 install--upgrade pip
以更正
问题.
无法转储具体化视图
如果尝试转储具有 物化视图。解决方法是从转储操作中忽略它们 使用表regex,如下例所示:
sudo apt install clickhouse-client
sudo pip3 install altinity-datasets
8
--在自签名证书上没有验证选项失败
当使用ad cli时--安全与--不需要验证选项 还要将clickhouse客户端配置为跳过证书验证。 这仅适用于自签名证书的情况。你必须 更改/etc/clickhouse client/config.xml如下以跳过证书 验证:
sudo apt install clickhouse-client
sudo pip3 install altinity-datasets
9
限制
最重要的是:
- 错误处理不稳定。如果clickhouse客户端不在路径中 事情可能会神秘地失败。
- 数据集必须在本地文件系统上。将来我们会 使用云对象存储,如s3。
请在https://github.com/altinity/altinity-datasets/issues" rel="nofollow">https://github.com/altinity/altinity datasets/issues上提交问题。 欢迎提出解决问题的请求。