2016-07-10 16 views
0

Gibt es eine Möglichkeit zum Löschen mehrerer Tabellen mit einem Regex in SparkSQL?Löschen Tabellen durch Regex

Ich möchte so etwas wie dies tun:

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

Wo job* für alle Tabellen mit job Start stehen würde.

+0

Ich bin nicht mit Funken vertraut gemacht, aber wenn es SQL-ansi-Muster (die höchstwahrscheinlich es tun) folgt gibt es keine solche Befehl. Am besten können Sie alle Tabellen auf Basis des Informationsschemas auflisten (Sie wissen nicht, wie es bei Funke heißt) und nacheinander in einer Prozedur wie der Anweisung löschen –

Antwort

0

Von dem, was ich über diese SparkSQL-Syntax gefunden habe, sieht es nicht so aus, als benötigst du Regex dafür.
Nur Ihre typische SQL LIKE-Syntax würde tun.

Könnten Sie versuchen:

for tblName in sqlContext.tables().filter("tableName LIKE 'job%'").collect(): 
    sqlContext.sql("DROP TABLE IF EXISTS " + tblName)