2016-07-18 13 views
5

Nếu một đoạn trả về dữ liệu từ phần tử nội bộ% jdbc, liệu dữ liệu đó có sẵn cho các đoạn văn sau sử dụng các trình thông dịch khác không?Dữ liệu được trả về trong% jdbc đoạn có sẵn trong các đoạn tiếp theo không?

ví dụ

%jdbc(psql) 
select * from `table` 

sau đó

%python 
# load/access data here 
x = ... 

Trong cùng một cách mà một người phiên dịch% tia lửa có thể tạo ra một bảng tạm thời, một đoạn văn sau đây có thể chạy% sql.

+0

giống như được sao chép với https://stackoverflow.com/questions/44968803/zeppelin-sql-reuse-data-of-query-without-another-interpreter-or-a-new-query/45046993#45046993 Tôi đã trả lời ở đó. Bạn có thể sử dụng spark sql theo lập trình. – 1ambda

+1

@ 1ambda bạn didnt trả lời ở tất cả, ở đây nó về "tái sử dụng" không "tái thực hiện". Có vẻ như câu trả lời là nop, bạn không thể. Có thể với https://zeppelin.apache.org/docs/0.7.0/rest-api/rest-notebook.html#get-the-status-of-a-single-paragraph nhưng có vẻ khó và bẩn. –

+0

Nó không phải để tái sử dụng. Đó là làm thế nào để tạo ra một bảng và truy cập nó trong một ngôn ngữ lập trình (python ở đây). Bạn đã đọc tiêu đề của câu hỏi chưa? 'trong các đoạn tiếp theo ' – 1ambda

Trả lời

2

Apache Zeppelin có Generic JDBC Interpreter để kết nối với nguồn dữ liệu khác với JDBC.

Nó cho phép bạn tạo một kết nối JDBC cho bất kỳ nguồn dữ liệu, bởi bây giờ nó đã được thử nghiệm với:

  • Postgres
  • MySql
  • MariaDB
  • chuyển đỏ
  • Apache Hive
  • Apache Phoenix
  • Máy khoan Apache

Theo mã trong org.apache.zeppelin.jdbc.JDBCInterpreter.executeSql, chỉ hiển thị dữ liệu.

Vì vậy, giải pháp khả thi để nhận dữ liệu từ nguồn dữ liệu và sử dụng dữ liệu đó trong các trình thông dịch khác có thể là.

  • Viết chức năng sử dụng Scala với trình thông dịch Spark. Nó kết nối với nguồn dữ liệu và tạo DataFrame dựa trên kết quả truy vấn.
  • Mở rộng JDBCInterpreter, hoặc tạo một intepreter mới dựa trên JDBCInterpreter truy vấn tới nguồn dữ liệu và tạo DataFrame dựa trên kết quả. Điều này có thể yêu cầu mở rộng cú pháp SQL để thêm tính năng này.
+0

Cảm ơn câu trả lời của bạn @RockieYang - tiếc là những gì bạn đã cho tôi là điều tôi đã biết. Những gì tôi cần biết là cách truy cập dữ liệu được trả về trong một đoạn% jdbc từ các đoạn văn khác. –

+0

Có. Tôi đã không nhận ra nó khi tôi lần đầu tiên đăng câu trả lời. Tôi đã thêm một số giải pháp có thể tôi có thể nghĩ đến. –

Các vấn đề liên quan