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调用AmazonAWSAPI?   Java中的渗流   java在dao端使用逻辑不是一个好的实践吗?   java Swing绘制网格。韦尔德结果   java如何设置PlusOneButton对话框的共享选项的默认文本   java如何在firebase存储中管理多个上载/下载?   java Wicket在多个位置显示相同的文本   java使用j2me通过蓝牙从一个手机向另一个手机发送短信   java为什么不让DialogWait框自动关闭?   java Visual Studio代码JDBC访问Derby数据库   在java中如何根据日期从文件夹中获取文件   java如何从数据库加载多个数据   java匿名类和同步以及“this”   java无法使用Selenium上载文件   java多线程JAXR调用parallelStream还是Futures?   获取要编译的Netbeans Java程序   java检查二叉树是否为有效BST的函数中的“min”和“max”是什么?   java有人能解释为什么这段代码只在构造函数中工作吗?   java如何将多种类型的用户重定向到各自的活动?