我在bigquery中发现了一个小故障/错误.我们根据starschema.net:clouddb:bank.Banks_token下的银行统计数据得到了一张表
如果我运行以下查询:
SELECT count(*) as totalrow,
count(DISTINCT BankId ) as bankidcnt
FROM bank.Banks_token;
Run Code Online (Sandbox Code Playgroud)
我得到以下结果:
Row totalrow bankidcnt
1 9513 9903
Run Code Online (Sandbox Code Playgroud)
我的问题是如果我有9513row我怎么能得到9903row,这比表中的rowcount多390个.
我想使用一个简单的talend作业在greenplum HAWQ中创建视图,它基本上有一个fileinput包含我需要执行CREATE VIEW脚本的所有视图.
由于这些视图(50-60.000)来自oracle系统,我需要找到我们无法创建的视图.
这是我的问题的模拟:

我已经在数据库中有了一个视图,我想再创建它3次.这显然会失败.
这是输出:
Exception in component tGreenplumRow_2
org.postgresql.util.PSQLException: ERROR: relation "ad_apps_dependencies" already exists
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1592)
.--------------.
| tLogRow_4 |
|=------------=|
|componenterror|
|=------------=|
|componenterror|
'--------------'
.-----------------------------------------------------+-------------------------------------------------------------.
| tLogRow_5 |
|=----------------------------------------------------+------------------------------------------------------------=|
|result |result1 |
|=----------------------------------------------------+------------------------------------------------------------=|
|ERROR: relation "ad_apps_dependencies" already exists|CREATE VIEW SYSTEM.AD_APPS AS SELECT * FROM APPLSYS.AD_APPS|
'-----------------------------------------------------+-------------------------------------------------------------'
.------------.
| tLogRow_6 |
|=----------=|
|subjobError |
|=----------=|
|Subjob Error|
'------------'
Run Code Online (Sandbox Code Playgroud)
我希望这个输出有3次,因为我尝试运行3次查询.(在最终版本中,我将创建另一个仅包含失败查询的文件,因此我们稍后可以修复它,但这是关键点.)
作为一种解决方法:我可以将此tRow - > OnError - > FixedFlow - > FailedViews部分移动到不同的作业中,但这不是一个优雅的解决方案.