问题标签 [vertica]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
352 浏览

constraints - 如何模拟 ON DELETE CASCADE?

有没有办法可以模拟ON DELETE CASCADEVertica 中的约束?我似乎收到以下错误:

ROLLBACK 4229:外键约束不支持除 NO ACTION 之外的 ON DELETE 操作

而且我在文档中找不到太多关于它的信息!

0 投票
1 回答
1030 浏览

join - 如何在 Vertica 数据库的 ON 子句中模拟子查询?

大家好,我在转换在 ON 子句中有一组子查询的查询时遇到了一些麻烦。初始代码是在 SQL Server 中创建的,我已更改为在 Vertica 上工作。

这是代码:

如果有人有任何想法,那就太好了!

0 投票
2 回答
2286 浏览

sql - 在进行分析查询时如何避免 DISTINCT 作为拐杖?

我有一个我认为具有相当普遍模式的查询。考虑这张表:

我想通过时间戳获取每个 id 的最新值。一些方法可以做到:

分析排名查询感觉像是最容易提出有效查询计划的查询。但在美学和维护方面,它非常难看(尤其是当表的值列不止 1 个时)。在生产中的一些地方,当测试表明性能相当时,我们使用了不同的分析查询。

有没有什么方法可以做 rank = 1 之类的事情而不会得到如此丑陋的查询?

0 投票
4 回答
13630 浏览

sql - 在 Vertica 中创建变量

我正在从 SQL Server 过渡到 Vertica。有没有类似的方法来创建变量?

通常我会做类似的事情:

0 投票
1 回答
2083 浏览

sql - Vertica INTERPOLATE 功能

Vertica 的闪亮功能:

我有两个表,我想用INTERPOLATE加入,并期望第二个表中的数据用最新的可用数据进行插值。但不幸的是,我无法得到我想要的结果。我查看了与INTERPOLATE功能相关的 Vertica 文档,并尝试了一个运行良好的示例。

在那里我得到了预期的结果。表b中的值根据表a中的日期进行插值。

但是当我尝试类似于稍微复杂一点的场景时,我并没有真正得到我想要的。

我打算实现的目标:

我打算实现的是从中选择最新的可用数据b中为 a 中与a中的相应日期匹配的每个id选择最新的可用数据。因此,如果a具有 (id,date) 组合,那么我想从b获取该 id 和日期的数据。但是,如果在该日期 b 中没有该 id 的数据,则获取该日期可用数据。获取截至日期有效的数据。换句话说,一种回溯行为。只要在该日期之后该 id 没有其他数据点,该 id的数据点就在b中有效。我希望这是有道理的。我知道一种方法可以使用MAX()GROUP BY. 我想知道是否可以使用INTERPOLATE

一个例子:

只是为了让您了解它是什么,我举了一个例子。这次我只是修改了之前创建的表以具有更多字段。

当我运行以下查询时:

我得到以下信息:

但我需要从中选择可用于 id 的最新值b中选择一个 id 可用的最新值,用于(id4,flag,period)的一种分组,而不是它当前给我的结果。有没有办法可以为此使用INTERPOLATE功能?或者我应该采取完全不同的方法。问题是表b中的数据稀疏。我们可能不是每天都有一个数据点,而我们每天都有一个数据点。

我还尝试填补b中数据点之间的空白我还尝试使用TIMESERIES子句和TS_FIRST_VALUE(datapoint, 'const') 填补。但是同样,与 id 中的日期相比,b 中 id4、标志、周期的组合可用的最新日期可能会早于时间。我最终遇到了与上面演示的相同的问题。

任何指导将不胜感激。

0 投票
2 回答
1609 浏览

unix - Vertica odbc 缺少 /opt/vertica/lib64/libverticaodbc_unixodbc.so

我在从我的机器(运行 centOS)打开与 Vertica 的 odbc 连接时遇到问题

据我了解,我已经安装了所有可能的软件包,但我仍然缺少一些驱动程序文件。

这是我得到的错误:

PHP 警告:odbc_connect():SQL 错误:[unixODBC][驱动程序管理器]无法打开 lib '/opt/vertica/lib64/libverticaodbc_unixodbc.so':/opt/vertica/lib64/libverticaodbc_unixodbc.so:无法打开共享对象文件:没有这样的文件或目录,SQLConnect 中的 SQL 状态 01000 在 /var/www/html/* * * *.php 第 149 行

这是我安装的软件包:

这些都没有产生该驱动程序文件-> libverticaodbc_unixodbc.so

谢谢。

0 投票
1 回答
2642 浏览

sql - Vertica - 创建日历表

我在 Vertica 中遇到与不存在的填充日期相关的问题。我在网上看到了人们建议创建日历表的解决方案。这是来自stackoverflow的一个这样的MYSQL问题。

有没有办法使用另一个表中的 min() 和 max() 可用日期创建日历表,只使用 Vertica 支持的 SQL 而不使用任何程序?到目前为止,我遇到的大多数解决方案都是基于 T-SQL 的,并且日期是使用过程生成的。不幸的是,我 Vertica 并没有那么多 PL/SQL 或 T-SQL 能力。但是有一些我怀疑可能能够解决我的问题的分析功能。

0 投票
5 回答
10255 浏览

netbeans - 如何将 vertica 与 JDBC 连接?

我想用 JDBC 连接 vertica。但我有错误。这是我的代码:

……

……

但是我收到了这个错误(如果我打开 netbeans 数据库部分,我会收到相同的错误消息。但是我使用客户端(Dbeaver)连接到 vertica):

我怎样才能解决这个问题?

0 投票
6 回答
10781 浏览

vertica - 删除 Vertica 数据库中的重复行

Vertica 允许将重复项插入到表中。我可以使用“analyze_constraints”功能查看那些。如何从 Vertica 表中删除重复行?

0 投票
1 回答
411 浏览

java - 在eclipselink JPA中执行“SET ROLE”语句

我正在使用 EclipseLink JPA 连接到 vertica 数据库并获取结果。在运行以下代码之前 EntityManager em = ... Query q = em.createQuery ("SELECT x FROM Table x"); 列表结果 = q.getResultList();

我需要首先为用户 ID 运行“SET ROLES ALL”语句。如何在 JPA 中运行此类语句。

请指导我。