Apache Spark với tổ ong Apache


Hồ Thúy Minh
3 năm trước
Hữu ích 7 Chia sẻ Viết bình luận 0
Đã xem 6711

Xin chào các chuyên viên máy tính, chúng tôi đã thảo luận về  cách bắt đầu lập trình với Spark in Scala . Trong blog này, chúng tôi sẽ thảo luận về cách chúng tôi có thể sử dụng Hive với Spark 2.0.

Khi bạn bắt đầu làm việc với Hive , bạn cần HiveContext (kế thừa SqlContext), core-site.xml , hdfs-site.xmlhive-site.xml cho Spark. Trong trường hợp bạn không định cấu hình hive-site.xml thì ngữ cảnh sẽ tự động tạo metastore_db trong thư mục hiện tại và tạo thư mục kho được chỉ định bởi HiveConf (mặc định người dùng / hive / repository ).

hive-site.xml

<configuration>
    <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://localhost/metastore_db</value>
        <description>metadata is stored in a MySQL server</description>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.jdbc.Driver</value>
        <description>MySQL JDBC driver class</description>
    </property>
    <property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>hiveuser</value>
    <description>user name for connecting to mysql server </description>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>hivepassword</value>
        <description>password for connecting to mysql server </description>
    </property>
</configuration>

Bây giờ nếu chúng ta nói về Spark 2.0 ,  HiveContextSqlContext đã bị phản đối nhưng Spark không cung cấp khả năng tương thích ngược. Họ cũng đưa ra một điểm chung khác là SparkSession.

Chúng ta có thể tạo đối tượng của SparkSession như:

SparkSession.builder
  .master("local")
  .appName("demo")
  .getOrCreate()

Bây giờ chúng ta có thể nhận được sqlContextsparkContext đối tượng và những người khác từ đối tượng SparkSession.

Nếu bất cứ ai muốn làm việc với HiveContext thì chúng ta cần kích hoạt giống như:

val sparkSession = SparkSession.builder
  .master("local")
  .appName("demo")
.enableHiveSupport()
  .getOrCreate()

Và bây giờ chúng ta sẽ thực hiện Querry của mình:

sparkSession.sqlContext.sql(“INSERT INTO TABLE students VALUES (‘Rahul’,’Kumar’), (‘abc’,’xyz’)”)

Mã Demo hoàn chỉnh trên Github

Cảm ơn!

Hữu ích 7 Chia sẻ Viết bình luận 0
Đã xem 6711