2017-07-06 9 views
0

私の生産データセットを掃除していますが、私は役に立たないエントリを探しています。Bigqueryエントリが属するテーブルを見つける

SELECT count(pid_like) FROM TABLE_DATE_RANGE(DATASET.TABLE_PRODUCTION_, DATE_ADD(CURRENT_TIMESTAMP(), -30, 'DAY'),CURRENT_TIMESTAMP()) where c1 is null and c2 is null and c3 is null and c4 is null 

したがって、c1、c2、c3、およびc4がnullのエントリを削除します。

私はとして最後の30個のテーブルのクリーニングに作られた前:

# done for each last 30 tables 
DELETE FROM DATASET.TABLE_PRODUCTION_YYYYMMDD where c1 is null and c2 is null and c2 is null and c4 is null. 

しかし、洗浄後、いくつかの役に立たないエントリは残りますが、私は彼らが何であるか、テーブルの上に見つけることができません。

答えて

2

NULLで行を持つテーブルを見つけるために、これを試してみてください:

#standardSQL 
SELECT 
    _TABLE_SUFFIX AS suffix, 
    COUNT(*) AS null_count 
FROM `DATASET.TABLE_PRODUCTION_*` 
WHERE _TABLE_SUFFIX BETWEEN 
    FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE(), INTERVAL 30 DAY)) AND 
    FORMAT_DATE('%Y%m%d', CURRENT_DATE()) AND 
    c1 IS NULL AND 
    c2 IS NULL AND 
    c3 IS NULL AND 
    c4 IS NULL 
GROUP BY suffix 
HAVING null_count > 0 
ORDER BY null_count DESC; 

は、それがnullの行とカウントしてサフィックス(日付)を返します。

+0

ニース!関連する文書を私に指摘できましたか? –

+1

おそらくこれ? https://cloud.google.com/bigquery/docs/querying-wildcard-tables#filtering_selected_tables_using_table_suffixここにはFORMAT_DATEがありますが、他の関数もここにあります:https://cloud.google.com/bigquery/docs/reference/standard-sql/functions-and-operators#format_date –

+0

ありがとう:) –

関連する問題