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上提交问题。 欢迎提出解决问题的请求。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何正确测试和调试使用照相机闪光灯的应用程序?   组织。jboss。放松点。spi。未处理的异常:java。lang.NoSuchMethodError:org。冬眠SessionFactory。openSession()Lorg/hibernate/Session;   在同一行上声明多个Java数组?   java Spring批处理管理员,无法替换占位符“批处理”。商业模式。脚本'   使用JQuery的网站上出现java HtmlUnit“不支持浏览器”错误   java JavaFX如何将图形“裁剪”到按钮   java处理mysql中包含逗号的数字   java Hibernate语法错误:应为点   如何根据给定的日期在java中获取30天的回溯日期   java Servlet URL映射   线程“awteventque0”java中的多线程java JFrame异常。util。EmptyStackException,即使堆栈先初始化   JavaSpring控制器/组件实现可序列化   java如何在游戏完成时启动带有按钮的对话框?   java Hibernate双向多对多实现   如何使用Xpath Java修改XML中的属性值,包括注释部分   java Mockito模拟构造函数示例   java如何在不重写的情况下写入文本文件?