问题标签 [amazon-redshift]

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 投票
2 回答
2972 浏览

java - Java、PostgreSQL 和 Hibernate:带有嵌套字符串的 Select 语句

我正在尝试使用 Java + Hibernate 将数据从 RedShift 卸载到 S3,但无法弄清楚如何让它接受 SQL 中的字符串中的字符串。

无论我尝试使用转义序列来将引号字符正确传递给 RedShift,我都会在异常之后得到异常。

任何想法都会受到欢迎。谢谢。

这是我试图在 RedShift 上运行的查询(如果我直接在 RedShift 中输入它,它可以工作):

以下是我在 Java 中尝试过的各种命令,但遇到了错误:

单反斜杠

结果
警告 org.hibernate.engine.jdbc.spi.SqlExceptionHelper - SQL 错误:0,SQLState:42601
错误 org.hibernate.engine.jdbc.spi.SqlExceptionHelper - 错误:“2013”​​位置或附近的语法错误位置:66
错误 org .hibernate.exception.SQLGrammarException:无法执行语句

双反斜杠

结果
错误org.hibernate.QueryException:参数前缀':' [unload('select raw_line from stl_load_errors where starttime > \'2013-01-01\'')到's3://myBucket/myTable/ '凭证'aws_access_key_id=*;aws_secret_access_key=*'gzip]
在 org.hibernate.engine.query.spi.ParameterParser.parse(ParameterParser.java:95)

三重反斜杠

结果
2013-06-19 01:39:59,233 错误 org.hibernate.QueryException:参数前缀 ':' [unload ('select raw_line from stl_load_errors where starttime > \'2013-01-01\'')到 's3://myBucket/myTable/' 凭据 'aws_access_key_id=*;aws_secret_access_key=*' gzip]
到 org.hibernate.engine.query.spi.ParameterParser.parse(ParameterParser.java:95)

四反斜杠

结果
警告 org.hibernate.engine.jdbc.spi.SqlExceptionHelper - SQL 错误:0,SQLState:42601
错误 org.hibernate.engine.jdbc.spi.SqlExceptionHelper - 错误:“2013”​​位置或附近的语法错误:68
错误组织.hibernate.exception.SQLGrammarException:无法执行语句

命名参数

结果:
警告 org.hibernate.engine.jdbc.spi.SqlExceptionHelper - SQL 错误:0,SQLState:42601
错误 org.hibernate.engine.jdbc.spi.SqlExceptionHelper - 错误:“$1”位置或附近的语法错误:9
错误org.hibernate.exception.SQLGrammarException:无法执行语句

0 投票
1 回答
4719 浏览

amazon-redshift - 没有函数或存储过程的 Amazon RedShift 中的 Upsert

由于 RedShift 中不支持用户定义的函数或存储过程,我如何UPSERT在使用 ParAccel(PostgreSQL 8.0.2 fork)的 RedShift 中实现机制。

目前,我正在尝试使用 IF...THEN...ELSE... 语句来实现 UPSERT 机制,例如:-

这给了我错误。因为我正在独立编写此代码,而不将其包含在函数或 SP 中。那么,是否有任何解决方案来实现 UPSERT。

谢谢

0 投票
7 回答
38386 浏览

sql - 在 redshift 中使用 sql 函数 generate_series()

我想在redshift中使用生成系列功能,但没有成功。

红移文档说它不受支持。以下代码确实有效:

输出:

我想对日期做同样的事情。我尝试了许多变体,包括:

踢出:

也试过:

并尝试:

两者都踢出:

如果不是,我将使用另一篇文章中的此代码:

PostgreSQL generate_series() 以 SQL 函数作为参数

0 投票
3 回答
9630 浏览

amazon-redshift - 如何从 Redshift 中的字符串中解析主机?

我正在寻找与Hive 的 parse_url(..., 'HOST') 等效的 Postgres(实际上是 Redshift)

Postgres 文档说它有一个 URL 解析器作为其全文搜索的一部分。这篇博文有一个正则表达式,它可能是防弹的,也可能不是。什么是最好的?

0 投票
1 回答
258 浏览

postgresql - 将 2.3214E7 之类的数据保存到 postgresql

我是 postgresql (redshift) 的新手,我正在将 CSV 文件从 S3 复制到 RedShift,尝试将 2.35555E7 数字保存到numeric | 18, 0列中时出错。该数据的正确数据类型是什么?

谢谢

0 投票
2 回答
10659 浏览

sql-server - 使用 SSIS/SSDT 进行红移

是否有人成功使用 Amazon Redshift 作为 SQL Server Data Tools 2012 中的源或目标 ODBC 组件?

我已经安装了 Amazon 提供的 PostgreSQL 驱动程序,并在 Windows ODBC 驱动程序管理员中成功测试了连接,但是当我选择我保存的 DSN 并尝试提取表列表时,我仍然遇到神秘的错误消息。

0 投票
1 回答
13436 浏览

sql - aws红移中的ILIKE和NOT ILIKE与总数不同

我在 amazon redshift 中运行了以下三个查询:

计数为 1554。

计数为 62。

计数是85。

最后两个(62 + 85)应该等于1554。我错过了什么?

0 投票
2 回答
2438 浏览

sql - 如何在 AMAZON REDSHIFT 中将 userip 转换为整数

刚开始玩并测试亚马逊的红移。我需要做的一件事是我可以在 sql 中轻松完成的操作是将 userip 更改为整数。这是在 mssql 中使用标量函数完成的,该函数使用 parsename 来分解 ip 编号并通过常量将它们倍数。

这就是它的样子供参考。

正如我所料, parsename 不是红移中的函数,因此出现了我的问题。你们知道我可以达到相同结果的方法吗?

弄清楚了:

( LEFT(ip_address, STRPOS(ip_address, '.')-1) * 16777216) + (LEFT(SUBSTRING(ip_address, LEN(LEFT(ip_address, STRPOS(ip_address, '.')+1))), LEN(ip_address) - LEN(LEFT(ip_address, STRPOS(ip_address, '.')-1)) - LEN(LEFT(REVERSE(ip_address), STRPOS(REVERSE(ip_address), '.')-1)) - 2), STRPOS( SUBSTRING(ip_address, LEN(LEFT(ip_address, STRPOS(ip_address, '.')+1)), LEN(ip_address) - LEN(LEFT(ip_address, STRPOS(ip_address, '.')-1)) - LEN(LEFT (REVERSE(ip_address), STRPOS(REVERSE(ip_address), '.')-1)) - 2), '.')-1) * 65536) + (RIGHT( SUBSTRING(ip_address, LEN(LEFT(ip_address, STRPOS) (ip_address, '.')+1)), LEN(ip_address) - LEN(LEFT(ip_address, STRPOS(ip_address, '.')-1)) - LEN(LEFT(REVERSE(ip_address), STRPOS(REVERSE(ip_address) ), '.')-1)) - 2), LEN(SUBSTRING(ip_address,LEN(LEFT(ip_address, STRPOS(ip_address, '.')+1)), LEN(ip_address) - LEN(LEFT(ip_address, STRPOS(ip_address, '.')-1)) - LEN(LEFT(REVERSE(ip_address) ), STRPOS(REVERSE(ip_address), '.')-1)) - 2)) - STRPOS(SUBSTRING(ip_address, LEN(LEFT(ip_address, STRPOS(ip_address, '.')+1))), LEN(ip_address ) - LEN(LEFT(ip_address, STRPOS(ip_address, '.')-1)) - LEN(LEFT(REVERSE(ip_address), STRPOS(REVERSE(ip_address), '.')-1)) - 2), ' .') ) * 256) + (REVERSE( LEFT(REVERSE(ip_address), STRPOS(REVERSE(ip_address), '.')-1) ) * 1)'.')+1)), LEN(ip_address) - LEN(LEFT(ip_address, STRPOS(ip_address, '.')-1)) - LEN(LEFT(REVERSE(ip_address), STRPOS(REVERSE(ip_address), ' .')-1)) - 2), '.') ) * 256) + (REVERSE( LEFT(REVERSE(ip_address), STRPOS(REVERSE(ip_address), '.')-1) ) * 1)'.')+1)), LEN(ip_address) - LEN(LEFT(ip_address, STRPOS(ip_address, '.')-1)) - LEN(LEFT(REVERSE(ip_address), STRPOS(REVERSE(ip_address), ' .')-1)) - 2), '.') ) * 256) + (REVERSE( LEFT(REVERSE(ip_address), STRPOS(REVERSE(ip_address), '.')-1) ) * 1)

0 投票
3 回答
5516 浏览

sql - 加入范围的最佳方式?

我认为这可能是一个常见问题,可能无法对每个工具都有答案。现在我们正在尝试使用亚马逊 Redshift。我们现在唯一的问题是我们正在尝试查找 IP 地址的邮政编码。我们拥有的将 IP 连接到城市的表是 IP 转换为整数的范围。

例子:

我已经在 intip >= startip 和 intip < endip 上尝试了明显的内部连接。

有谁知道这样做的好方法?

0 投票
2 回答
4964 浏览

sql - Information_Schema 的 Redshift 选项

刚从 SSMS 转移到 Redshift(使用 DBeaver),我想知道是否有一个很好的选择来获取表描述。在 SQL Server 中,您可以针对 information_schema 编写一个很好的查询来提取列名、数据类型等。Redshift 中是否有类似的选项?