标签: vertica

在Vertica中查询完成时如何显示查询时间?

使用vsql时,我想看看查询完成后运行多长时间.例如,当我运行:

select count(distinct key) from schema.table;
Run Code Online (Sandbox Code Playgroud)

我希望看到如下输出:

5678
(1 row)
total query time: 55 seconds.

如果这是不可能的,还有另一种方法来衡量查询时间吗?

sql vertica vsql

5
推荐指数
1
解决办法
8467
查看次数

Vertica SQL中的Concat GROUP BY

我需要以逗号分隔的id列表作为凌乱的第三方api的字段:s这是我想要实现的简化版本.

| id | name |
|====|======|
| 01 | greg |
| 02 | paul |
| 03 | greg |
| 04 | greg |
| 05 | paul |

SELECT name, {some concentration function} AS ids
FROM table
GROUP BY name
Run Code Online (Sandbox Code Playgroud)

返回

| name | ids        |
|======|============|
| greg | 01, 03, 04 |
| paul | 02, 05     |
Run Code Online (Sandbox Code Playgroud)

我知道MySQL有CONCAT_GROUP函数,我希望在没有安装更多函数的情况下解决这个问题,因为环境.也许我可以使用OVER语句解决这个问题?

sql vertica

5
推荐指数
2
解决办法
8777
查看次数

聚合函数以在Vertica中连接字符串

在vertica中有一个表:像这样测试:

ID     |   name
1      |    AA
2      |    AB
2      |    AC
3      |    AD
3      |    AE
3      |    AF
Run Code Online (Sandbox Code Playgroud)

如何使用聚合函数或如何编写查询以获取像这样的数据(vertica语法)?

ID    |  ag
1     |  AA
2     |  AB, AC
3     |  AD, AE, AF 
Run Code Online (Sandbox Code Playgroud)

sql aggregate vertica

5
推荐指数
1
解决办法
3190
查看次数

如何在vertica(vsql)中的字符串中转义引号?

所以我需要在vertica数据库中插入一些值(通过vsql),它可能包含引号和各种特殊字符.但是vertica似乎并不理解字符转义.例如:

rpt=> select "asdasda\"asdasdad" from some_table limit 1;
rpt"> ";
ERROR:  syntax error at or near "" from some_table limit 1;
"" at character 26
LINE 1: select "asdasda\"asdasdad" from some_table limit 1;
Run Code Online (Sandbox Code Playgroud)

这不是insert语句,但你应该明白这一点.

database vertica vsql

4
推荐指数
1
解决办法
6284
查看次数

有没有办法在Vertica中的现有表列上设置AUTO_INCREMENT属性?

假设我有一个简单的表:

CREATE TABLE user(
  id INT NOT NULL PRIMARY KEY,
  name VARCHAR(32) NOT NULL,
)
Run Code Online (Sandbox Code Playgroud)

有没有办法改变这个表,所以id将成为AUTO_INCREMENT字段?

我试了以下没有运气:

  • ALTER TABLE(没有这样的语法)
  • 创建具有自动增量ID的另一个表,并从原始数据中复制数据(由于错误而无效:无法插入或更新IDENTITY/AUTO_INCREMENT列"id")

谢谢!

sql vertica

4
推荐指数
1
解决办法
1408
查看次数

如何在删除记录后释放vertica原始空间

我们正在使用Vertica社区版,其原始数据限制为1TB.

最近达到了1 TB的原始数据限制,因此我们决定从所有表中删除一些记录.删除旧记录后,Vertica仍显示利用率:104%

dbadmin=> SELECT GET_COMPLIANCE_STATUS();
GET_COMPLIANCE_STATUS
----------------------------------------------------------------------------------------
Raw Data Size: 1.04TB +/- 0.10TB
License Size : 1.00TB
Utilization  : 104%
Audit Time   : 2014-09-04 13:05:24.020979-04
Compliance Status : The database is in compliance with respect to raw data size.

No expiration date for a Perpetual license

NOTICE: Recent audits suggests a change in compliance status. We are awaiting additional data points to confirm.
(1 row)
Run Code Online (Sandbox Code Playgroud)

知道如何释放这个空间吗?

database vertica

4
推荐指数
1
解决办法
3414
查看次数

使用 Python 批量插入 vertica

我正在使用 python 将数据(约 800 万行)从 oracle 传输到 vertica。我写了一个 python 脚本,它在 2 小时内传输数据,但我正在寻找提高传输速度的方法。

我正在使用的过程:

  • 连接到甲骨文
  • 将数据拉入数据帧(熊猫)
  • 逐行遍历数据帧中的行并插入vertica(cursor.execute),我想使用该dataframe.to_sql方法,但该方法仅限于几个数据库

有没有人使用更好的方法(批量插入或任何其他方法?)使用 python 将数据插入 vertica?

这是代码片段:

df = pandas.read_sql_query(sql,conn)
conn_vertica = pyodbc.connect("DSN=dsnname")
cursor = conn_vertica.cursor()

for i,row in df.iterrows():
    cursor.execute("insert into <tablename> values(?,?,?,?,?,?,?,?,?)",row.values[0],row.values[1],row.values[2],row.values[3],row.values[4],row.values[5],row.values[6],row.values[7],row.values[8])

cursor.close()
conn_vertica.commit()
conn_vertica.close()
Run Code Online (Sandbox Code Playgroud)

python bulkinsert vertica

4
推荐指数
1
解决办法
3507
查看次数

使用 python 将数据复制到 Vertica

我使用pythonvertica-pythonCOPY数据传输到Vertica数据库

connection = vertica_python.connect(**conn_info)
vsql_cur = connection.cursor()

with open("/tmp/vertica-test-insert", "rb") as fs:
    vsql_cur.copy( "COPY table FROM STDIN DELIMITER ',' ", fs, buffer_size=65536)
    connection.commit()
Run Code Online (Sandbox Code Playgroud)

它插入数据,但只插入 5 行,尽管文件包含更多数据。这可能与数据库设置有关还是某些客户端问题?

python vertica

4
推荐指数
1
解决办法
5394
查看次数

.Net 核心支持查询 Vertica

我想从 .Net Core 应用程序连接到 Vertica DB,但 Vertica.Data 包与 .Net Core 不兼容。一直在寻找另一个适用于 .Net 核心的软件包,但没有找到任何东西。是否有其他解决方法可以从 .Net 核心应用程序查询 Vertica?

.net vertica asp.net-core asp.net-core-webapi

4
推荐指数
1
解决办法
939
查看次数

通过Vertica查询Parquet数据(Vertica Hadoop集成)

所以我有一个有三个节点的Hadoop集群.Vertica位于群集上.HDFS上有Parquet文件(由Hive分区).我的目标是使用Vertica查询这些文件.

现在我所做的是使用HDFS Connector,基本上在Vertica中创建一个外部表,然后将其链接到HDFS:

CREATE EXTERNAL TABLE tableName (columns)
AS COPY FROM "hdfs://hostname/...../data" PARQUET;
Run Code Online (Sandbox Code Playgroud)

由于数据量很大.这种方法不会取得良好的性能.

我做了一些研究, Vertica Hadoop集成

我已经尝试过HCatalog,但我的Hadoop上有一些配置错误,所以这不起作用.

我的用例是不使用Vertica查询HDFS(Parquet)上的数据格式.有关如何做到这一点的任何想法?

编辑:Vertica性能缓慢的唯一原因是它无法使用Parquet的分区.使用更高版本的Vertica(8+),它现在可以使用配置单元的元数据.所以不需要HCatalog.

hadoop vertica parquet

4
推荐指数
1
解决办法
497
查看次数