我有如下的BigQuery表。
import org.apache.spark.ml.feature.StringIndexer
val indexer = new StringIndexer().setInputCol("productID").setOutputCol("productIndex")
val indexed = indexer.fit(df).transform(df)
indexed.show()
我想检索在这一分钟内插入的数据。我执行了如下的SQL。
AAAAAA_yyyymmdd
BBBBBB_yyyymmdd
CCCCCC_yyyymmdd
如果所有SELECT * FROM [AAAAAA_20170515@-60000-],[BBBBBB_20170515@-60000-],[CCCCCC_20170515@-60000-]
和AAAAAA_20170515
以及BBBBBB_20170515
都存在,则此SQL工作正常,但并非所有表都是每天创建的。
如果缺少某些表,我会收到如下错误。
CCCCCC_20170515
我想忽略不存在的表。我知道我可以先检查每个表是否存在,然后构造SQL。但我希望能够抑制Error 404: Not found: Table BBBBBB_20150515, notFound
错误的效率。
我可以这样做吗?
答案 0 :(得分:0)
一种方法是使用Wildcard Tables with _TABLE_SUFFIX filter,但如果你有一个共同的表格前缀,它会表现得更好。
例如:
SELECT * from `vimota.PREFIX*` where _TABLE_SUFFIX = '_20170515';