R に dplyr クエリがあり、str_detect でフィルター処理して、文字 "KS" で始まるケースのみを取得しますが、空のティブルを返します。ROracle を使用して Oracle データベースに接続しています。
table <- tbl(con, "TABLE")
table %>%
filter(str_detect(COLUMN, "^KS"))
ただし、collect() を使用してティブルを生成すると、次のように動作します。
table <- collect(tbl(con, "TABLE"))
table %>%
filter(str_detect(COLUMN, "^KS"))
何故ですか?そして、収集なしでどのように機能させることができますか? 必要なテーブルのいくつかは、収集するには大きすぎます。
更新:次のように、特定の列の値をフィルター処理するように変更すると、
table %>%
filter(str_detect(COLUMN, "^KS"))
機能します。何らかの理由で、正規表現は collect() なしでは機能しません。