[英]How to load and write to Postgres database in Apache Spark
我是 Apache Spark 的新手,我可以使用一些有關如何與 Postgres 數據庫交互的高級幫助。 我打算用 Java 編寫我的 Spark 工作。
在我的主應用程序中,我使用 Hibernate ORM 與數據庫交互。 該模式通常如下所示:
"pages" table
+----+---------+---------------+--------------------+-------------+
| id | content | lastaccessed | url | pagerank_id |
+----+---------+---------------+--------------------+-------------+
| 1 | abc123 | 1511326589645 | http://google6.com | <TBD> |
+----+---------+---------------+--------------------+-------------+
"outlinks" table ("inlinks" has same structure)
+---------+-------------------+
| page_id | outlinks |
+---------+-------------------+
| 1 | http://yahoo.com |
| 1 | http://google.com |
+---------+-------------------+
所以頁面與內鏈和外鏈是一對多的關系,與 PageRank 是一對一的關系。
我想創建一個簡單的 Spark 作業來計算每個頁面的 PageRank,然后將該值寫入“pagerank”表並使用其在 pagerank 表中的相應值更新每個頁面的 pagerank_id。
我有幾個問題:
DataFrameReader.jdbc()
東西嗎? 如果是這種情況,我如何對頁面/輸入鏈接/輸出鏈接表進行聯合加載,以便我可以訪問具有一組輸入鏈接和輸出鏈接的頁面列表?DataFrameReader 僅支持加載單個表。 因此,你的方法應該是
DataFrameWriter 不支持任何更新。 它可以附加到或覆蓋現有表。
一種方法可能是您可以創建一個臨時表,寫入數據,然后處理數據庫中的其余邏輯。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.