Jak sprawdzić, czy tabela istnieje w Hive używając Spark’a?

Jak sprawdzić, czy tabela istnieje w Hive używając Spark’a?

Gdy szukasz tabeli, podaj jej tabeli używając małych liter (lowercase), ponieważ spark.sqlContext.tableNames zwraca tablicę nazw tabel tylko z małymi literami.

Spark 2.0 lub wyższa wersja

// Utwórz obiekt SparkSession wraz ze wsparciem Hive'a (enableHiveSupport())
val spark = SparkSession
.builder()
.appName("Check table")
.enableHiveSupport()
.getOrCreate()
// Wybierz bazę, gdzie będziesz szukał tabeli - małe litery
spark.sqlContext.sql("use bigdata_etl")
spark.sqlContext.tableNames.contains("schemas")
res4: Boolean = true

// Duże litery
spark.sqlContext.tableNames.contains("Schemas")
res4: Boolean = false

Od Spark 1.6 do 2.0

// Pobierz obiekt HiveContext na podstawie obiektu SparkContext
val sparkConf = new SparkConf().setAppName("Check table")
val sc = new SparkContext(sparkConf)
val hiveContext = new HiveContext(sc)
hiveContext.sql("use bigdata_etl")
hiveContext.tableNames.contains("schemas")

// Duże litery
hiveContext.tableNames.contains("Schemas")
res4: Boolean = false

Jeśli szukana tabela istnieje w odpowiedzi otrzymasz “true”, w przeciwnym razie “false”.

Jeśli spodobał Ci się ten post to zostaw proszę komentarz poniżej oraz udostępnij ten post na swoim Facebook’u, Twitter’ze, LinkedIn lub innej stronie z mediami społecznościowymi.
Dzięki!

0 0 vote
Article Rating
Subscribe
Powiadom o
guest
0 komentarzy
Inline Feedbacks
View all comments