Chúng tôi đang cố gắng sử dụng Máy chủ ThriftServer để truy vấn dữ liệu từ các bảng tạm thời của tia lửa, trong tia lửa 2.0.0.Tránh bắt đầu HiveThriftServer2 với bối cảnh được tạo lập trình
Trước tiên, chúng tôi đã tạo sparkSession với Hỗ trợ Hive đã bật. Hiện nay, chúng ta bắt đầu ThriftServer với sqlContext như thế này:
HiveThriftServer2.startWithContext(spark.sqlContext());
Chúng tôi có dòng spark với bảng temp đăng ký "spark_temp_table":
StreamingQuery streamingQuery = streamedData.writeStream()
.format("memory")
.queryName("spark_temp_table")
.start();
Với beeline chúng tôi có thể nhìn thấy bảng tạm thời (chạy HIỂN THỊ BẢNG);
Khi chúng tôi muốn chạy công việc thứ hai (với tia lửa thứ hai) với cách tiếp cận này, chúng tôi phải bắt đầu Second ThriftServer với cổng khác.
Tôi có hai câu hỏi ở đây:
Có cách nào để có một ThriftServer trên một cổng với quyền truy cập vào tất cả các bảng tạm thời trong một sparkSessions khác nhau?
HiveThriftServer2.startWithContext(spark.sqlContext());
được chú thích với@DeveloperApi
. Có cách nào để bắt đầu máy chủ tiết kiệm với bối cảnh không có trong mã chương trình?
Tôi thấy có cấu hình--conf spark.sql.hive.thriftServer.singleSession=true
được chuyển đến Máy chủ ThriftServer khi khởi động (sbin/start-thriftserver.sh) nhưng tôi không hiểu cách xác định điều này cho công việc. Tôi đã cố gắng thiết lập thuộc tính cấu hình này trong trình xây dựng sparkSession, nhưng beeline không hiển thị các bảng tạm thời.
Trước khi trả lời câu hỏi của bạn, tôi sẽ đặt một câu hỏi :) bạn có thực sự cần phải bắt đầu 'ThriftServer' "programatically"? – user1314742
@ user1314742 không, chúng tôi không cần (và không muốn - cố gắng tránh 'HiveThriftServer2.startWithContext (spark.sqlContext());'). chúng tôi thực sự đã cố gắng khởi động 'sbin/start-thriftserver.sh' với phiên duy nhất nhưng không có may mắn. Về cơ bản những gì chúng ta cần là truy cập vào các bảng 'temp' thông qua máy chủ JDBC spark và truy vấn các bảng' temp' (từ ứng dụng khác với kết nối 'JDBC') – VladoDemcak
Có thể thấy các bảng tạm thời khi chúng ta đang sử dụng' địa chỉ chính' ? – VladoDemcak