2016-03-02 101 views
0

我們擁有1TB大小的mysql數據庫。如果我們使用多個連接執行任何複雜的查詢,那麼系統會花費大量的時間來執行。有人建議bigdata Hadoop可以解決這個性能問題。您能否介紹一下如何使用Hadoop集羣實現這一點,以及我需要使用的所有概念,例如Apache Hadoop,Sqoop,Spark,Hive?使用hadoop執行復雜查詢

回答

0

Hadoop和Hive可以解決您的問題。因爲Hadoop的可處理大量的數據,以及蜂巢可以使用SQL查詢語言一樣叫蜂巢查詢語言(蜂巢QL)大型數據集,複雜的查詢像連接也可以使用蜂巢query.Refer鏈接進行:here

0

你可以考慮以下解決方案適用於hadoop上的sql。

  1. Cloudera的Impala的:爲Apache Hadoop的一個開源的分析MPP數據庫。

  2. 的Apache蜂巢:蜂巢提供了一種機制,以項目結構到數據,並使用名爲HiveQL一個類似於SQL的語言查詢數據。使用tez或spark啓用配置單元會帶來更好的性能。

  3. HAWQ for Pivotal HD:HAWQ是用於在HDFS中執行SQL查詢的專有組件。因此,儘管Pivotal在並行SQL處理和高度遵守SQL標準方面存在缺陷,但它只是Pivotal專用產品。

1

同意@nagendra,您可以與Apache HAWQ一試這是匹HD(即HDB)HAWQ的開源版本。它具有高度的SQL標準兼容性和高性能,尤其適用於複雜的查詢。原因在於它利用了RDBMS的MPP處理以及成熟的查詢優化器ORCA和規劃器。

這裏是鏈接到Apache HAWQ和ORCA: http://hawq.incubator.apache.org https://github.com/greenplum-db/gporca