日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

大数据分析 es hive_使用Hive和iReport进行大数据分析

發(fā)布時間:2023/12/3 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 大数据分析 es hive_使用Hive和iReport进行大数据分析 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

大數(shù)據(jù)分析 es hive

每個JJ Abrams的電視連續(xù)劇疑犯追蹤從主要人物芬奇先生一個下列敘述情節(jié)開始:“ 你是被監(jiān)視。 政府擁有一個秘密系統(tǒng)-每天每天每小時都會對您進行監(jiān)視的機器。 我知道是因為...我建造了它。 “當然,我們的技術(shù)人員知道得更多。 龐大的電氣和軟件工程師團隊需要花費多年的時間來制造如此高性能的機器,而預算卻是無法想象的……或者不是嗎? 等一下,我們有了Hadoop ! 現(xiàn)在,由于有了Hadoop ,我們每個人都可以成為Finch先生,預算不高。

在JCG文章“ Hadoop模式介紹-獨立,偽分布式,分布式 ”中,JCG合作伙伴Rahul Patodi解釋了如何設(shè)置Hadoop 。 Hadoop項目已經(jīng)產(chǎn)生了許多用于分析半結(jié)構(gòu)化數(shù)據(jù)的工具,但是Hive也許是其中最直觀的工具,因為它允許具有SQL背景的任何人提交被描述為SQL查詢的MapReduce作業(yè)。 Hive可以從命令行界面執(zhí)行,也可以在服務(wù)器模式下運行,而Thrift客戶端充當JDBC / ODBC接口,可以訪問數(shù)據(jù)分析和報告應用程序。

在本文中,我們將設(shè)置一個Hive服務(wù)器,創(chuàng)建一個表,使用文本文件中的數(shù)據(jù)加載它,然后使用iReport創(chuàng)建一個Jasper Resport。 Jasper報表在Hive服務(wù)器上執(zhí)行SQL查詢,然后將其轉(zhuǎn)換為Hadoop執(zhí)行的MapReduce作業(yè)。

注意:我使用的是運行OpenSuSE 12.1 Linux且安裝了MySQL 5.5的Hadoop版本0.20.205,Hive版本0.7.1和iReport版本4.5。

假設(shè)你已經(jīng)安裝了Hadoop的下載和安裝蜂巢下面的蜂巢 入門維基指令。 默認情況下, Hive是在獨立Hadoop模式下運行的CLI模式下安裝的。

制作多用戶Hive Metastore

默認的Hive安裝使用derby嵌入式數(shù)據(jù)庫作為其元存儲。 Metastore是Hive維護我們要通過SQL訪問的數(shù)據(jù)的描述的地方。 為了使metastore同時可以從許多用戶訪問,必須將其移動到獨立數(shù)據(jù)庫中。 這是安裝MySQL Metastore的方法。

  • 將MySQL JDBC驅(qū)動程序 jar文件復制到?/ hive-0.7.1-bin / lib目錄
  • 更改?/ hive-0.7.1-bin / conf目錄中的文件hive-default.xml中的以下屬性: <property><name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://hyperion/metastore?createDatabaseIfNotExist=true</value><description>JDBC connect string for a JDBC metastore</description> </property><property><name>javax.jdo.option.ConnectionDriverName</name><value>com.mysql.jdbc.Driver</value><description>Driver class name for a JDBC metastore</description> </property><property><name>javax.jdo.option.ConnectionUserName</name><value>foo</value><description>Username to connect to the database</description> </property><property><name>javax.jdo.option.ConnectionPassword</name><value>bar</value><description>Password to connect to the database</description> </property>
  • 使用MySQL工作臺或MySQL命令行實用程序使用latin1字符集創(chuàng)建架構(gòu)。 如果Hive找不到模式,它將使用MySQL的默認字符集自行創(chuàng)建模式。 在我的情況下,這是UTF-8,并生成了jdbc錯誤。 如果要使用命令行實用程序,請鍵入: mysql> CREATE DATABASE IF NOT EXISTS `metastore` DEFAULT CHARACTER SET latin1 COLLATE latin1_bin;
  • 在命令提示符下鍵入Hive以輸入Hive CLI并鍵入: hive> SHOW TABLES; OK testlines Time taken: 3.654 seconds hive>

    這將填充您新創(chuàng)建的metastore模式。 如果看到任何錯誤,請檢查hive-default.xml配置,并確保您的數(shù)據(jù)庫模式被命名為“ metastore”,其中l(wèi)atin1作為默認字符集。



  • 現(xiàn)在讓我們用一些數(shù)據(jù)填充Hadoop Hive

    我們只創(chuàng)建兩個名為file01file02的文本文件,每個文件包含:

    file01 :
    你好世界再見世界
    大家好再見大家

    file02 :
    您好Hadoop再見Hadoop
    大家好,大家再見

    將這些文件從本地文件系統(tǒng)復制到HDFS:

    $ hadoop fs -mkdir HiveExample $ hadoop fs -copyFromLocal ~/file* /user/ssake/HiveExample

    轉(zhuǎn)到Hive CLI并創(chuàng)建一個名為testlines的表,該表將在字符串數(shù)組中包含每一行的單詞:

    hive> create table testlines (line array<string>) row format delimited collection items terminated by ' ';

    將文本文件加載到Hive中:

    hive> load data inpath "/user/ssake/HiveExample/file01" INTO table testlines; hive> load data inpath "/user/ssake/HiveExample/file02" INTO table testlines;

    檢查測試行現(xiàn)在是否包含每行的單詞:

    hive> select * from testlines; OK ["Hello","World","Bye","World"] ["Hello","Everybody","Bye","Everybody"] ["Hello","Hadoop","Goodbye","Hadoop"] ["Hello","Everybody","Goodbye","Everybody"] Time taken: 0.21 seconds

    現(xiàn)在我們有了一個包含數(shù)據(jù)的Hive,我們可以在端口10000中將其作為服務(wù)器運行,這通常是運行hive服務(wù)器的方式:

    $ HIVE_PORT=10000 $ hive --service hiveserver

    通過此設(shè)置,可能有多個Thrift客戶端訪問我們的Hive服務(wù)器。 但是,根據(jù)Apache Hive博客 ,多線程Hive功能尚未經(jīng)過全面測試,因此每個Thrift客戶端使用單獨的端口和Hive實例更為安全。

    創(chuàng)建“字數(shù)統(tǒng)計”報告

    iReport 4.5支持配置單元數(shù)據(jù)源,因此讓我們使用它來創(chuàng)建一個以配置單元服務(wù)器作為數(shù)據(jù)源運行的報表:

    1.創(chuàng)建一個連接到配置單元服務(wù)器的數(shù)據(jù)源

    2.使用報告向?qū)蓤蟾?

    3.在“ HiveQL查詢”輸入框中鍵入以下內(nèi)容:

    select word,count(word) from testlines lateral view explode(line) words as word group by word

    讓我們簡要解釋一下上述查詢的作用:

    我們的源表“ testlines”表只有一個名為“ line”的列,其中包含字符串數(shù)組形式的數(shù)據(jù)。 每個字符串數(shù)組代表在導入文件“ file01 ”和“ file02 ”中找到的句子中的單詞。

    為了正確計算所有輸入文件中每個不同單詞的出現(xiàn)次數(shù),我們必須將源表中的字符串數(shù)組“分解”為一個新單詞,其中應包含每個單詞。 為此,我們將“側(cè)視圖”與HiveQL命令“ explode()”結(jié)合使用,如上所示。

    在上面的HiveQL查詢中,我們創(chuàng)建了一個名為“ words”的新圖標表,該表具有一個名為“ word”的列,其中包含從“ testlines”表的每個字符串數(shù)組中找到的所有單詞。

    4.單擊…按鈕以選擇所有文件,然后單擊下一步。

    5.在設(shè)計器視圖中,單擊“預覽”選項卡以執(zhí)行HiveQL報告

    這是我們的報告:

    現(xiàn)在,您已經(jīng)準備好構(gòu)建使用熟悉的JDBC接口訪問Hadoop數(shù)據(jù)的應用程序!

    參考:我們的W4G合作伙伴 Spyros Sakellariou 使用Hive和iReport進行大數(shù)據(jù)分析 。


    翻譯自: https://www.javacodegeeks.com/2012/02/big-data-analytics-with-hive-and.html

    大數(shù)據(jù)分析 es hive

    總結(jié)

    以上是生活随笔為你收集整理的大数据分析 es hive_使用Hive和iReport进行大数据分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。