Пример работы с таблицами в Imapala написанных на Scala для Spark 1.5
Загружаем spark-shell и указываем путь к jdbc драйверу для работы с Impala:
Пример работы с dataFrame:
spark-shell --master "local[2]" --driver-class-path /opt/cloudera/parcels/CDH/jars/ImpalaJDBC41.jar
После запуска spark-shell нужно импортировать все зависимости и октрыть соединение с помощью DriverManager. Далее приведены примеры чтения с таблицы и добавления данных:
import java.util.Properties
import org.apache.spark._
import org.apache.spark.sql.SQLContext
import java.sql.Connection
import java.sql.DriverManager
Class.forName("com.cloudera.impala.jdbc41.Driver")
var conn: java.sql.Connection = null
conn = DriverManager.getConnection("jdbc:impala://127.0.0.1:21050/default;auth=noSasl", "", "")
val statement = conn.createStatement();
val result = statement.executeQuery("SELECT * FROM users limit 10")
result.next()
result.getString("user_id")val sql_insert = "INSERT INTO users VALUES('user_id','email','gender')"
statement.executeUpdate(sql_insert)
Пример работы с dataFrame:
val jdbcDF = sqlContext.load("jdbc", Map("url" -> "jdbc:impala://127.0.0.1:21050/default", "dbtable" -> "public.users"))
jdbcDF.registerTempTable("people")
jdbcDF.sqlContext.sql("select id, reg_dt from people limit 5").filter(jdbcDF("id") > 777).show()
Коментарі
Дописати коментар