Bagaimana saya bisa terhubung ke Hive menggunakan pyspark?

Saya mencoba membuat tabel di HIVE. Tapi itu membuat folder seperti testdb.db di dalam folder spark-warehouse. Bagaimana saya bisa langsung menyimpan di HIVE seperti yang kami simpan ke database MySQL/MongoDB.

conf = SparkConf().setAppName("data_import")
sc = SparkContext(conf = conf)

sqlContext = HiveContext(sc)

sqlContext.setConf("spark.sql.shuffle.partitions", "2")
sqlContext.sql("CREATE DATABASE testdb")
sqlContext.sql("use testdb")
sqlContext.sql("create table daily_revenue(order_date string, daily_revenue float)")

person Krishna    schedule 22.01.2018    source sumber
comment
Daripada use testdb, coba awali create Anda dengan testdb.daily_revenue   -  person Bala    schedule 22.01.2018


Jawaban (2)


Saat Anda membuat tabel di HIVE maka apa yang terjadi di balik layar adalah, ia menyimpan metadata di beberapa database relasional tergantung pada mana yang dikonfigurasi untuk lingkungan Anda dan data aktual akan disimpan di direktori gudang HDFS jika itu adalah tabel yang dikelola.

Demikian pula ketika Anda mencoba membuat tabel dari Spark di HIVE maka yang akan dilakukan adalah, pertama-tama ia akan membuat folder .db dan di dalam folder ini akan membuat folder lain dengan nama tabel, yang kemudian menyimpan data di HDFS.

Jadi dalam kasus Anda, Anda harus memiliki folder <warehouse_dir>/testdb.db/table. dan jika Anda memuat data apa pun ke tabel ini, data itu akan ada di dalam folder tabel.

Semoga ini bisa membantu.

Salam,

Neeraj

person neeraj bhadani    schedule 22.01.2018
comment
Ya. Saya dapat melihat ‹warehouse_dir›/testdb.db/table ini. Tapi saya tidak bisa melihatnya di HDFS. Apakah saya perlu mengubah file konfigurasi? - person Krishna; 22.01.2018

person    schedule
comment
Anda telah menjawab untuk Hive CLI. Saya bertanya bagaimana saya bisa terhubung ke gudang sarang menggunakan pyspark. - person Krishna; 24.01.2018
comment
Kapan Anda mengubah sqlContext ke Hive CLI? Apakah Anda mencoba jawabannya di shell Pyspark? - person Bala; 24.01.2018