2016-07-10 6 views
0

SparkSQLで正規表現を使用して複数のテーブルを削除する方法はありますか?regexでテーブルを削除

私はこのような何かをしたいと思います:job*jobで始まるすべてのテーブルのために立って

sqlContext.sql("DROP TABLE IF EXISTS job*") 

+0

を私はスパークに慣れていないよ、それは、SQL ANSIパターン(それを行う可能性が高い)を以下の場合はそのようなコマンドはありません。あなたができることは、情報スキーマに基づいてすべてのテーブルをリストすることです(スパークでどのように呼び出されるのかわかりません)。命令のような手順で1つずつ削除してください –

答えて

0

私はSparkSQL構文に関して、正規表現が必要なように見えませんでした。
SQL LIKEの一般的な構文だけです。

は、あなたが試みることができる:

for tblName in sqlContext.tables().filter("tableName LIKE 'job%'").collect(): 
    sqlContext.sql("DROP TABLE IF EXISTS " + tblName) 
関連する問題