Aller au contenu principal
Version: 1.3.1.0

API et opérations

HWC expose HiveWarehouseSession comme API principale pour exécuter des opérations Hive depuis Spark.

Créer une session

import com.hortonworks.hwc.HiveWarehouseSession

val hwc = HiveWarehouseSession.session(spark).build()

Opérations sur le catalogue

hwc.showDatabases().show(false)
hwc.showTables().show(false)
hwc.describeTable("db.table").show(false)

hwc.createDatabase("db", true)

hwc.createTable("db.table")
.ifNotExists()
.column("id", "bigint")
.column("v", "string")
.create()

hwc.dropTable("db.table", true, true)
hwc.dropDatabase("db", true, true)

Opérations de lecture et d'écriture

// Lecture
val df = hwc.sql("select * from db.table")

// Écriture
spark.range(0, 100)
.selectExpr("id", "concat('v', id) as v")
.write
.format("com.hortonworks.spark.sql.hive.llap.HiveWarehouseConnector")
.option("database", "db")
.option("table", "table")
.mode("overwrite")
.save()

Transactions ACID

Utiliser commitTxn() pour finaliser les transactions ACID Hive gérées par le connecteur :

hwc.commitTxn()

Fermer la session

hwc.close()