大数据技术基础及应用(微课版) 实验手册集群综合实验1_第1页
大数据技术基础及应用(微课版) 实验手册集群综合实验1_第2页
大数据技术基础及应用(微课版) 实验手册集群综合实验1_第3页
大数据技术基础及应用(微课版) 实验手册集群综合实验1_第4页
大数据技术基础及应用(微课版) 实验手册集群综合实验1_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

集群综合实验实验背景大数据业务中,通常需要将多种组件构建成一个业务系统,以满足上层业务需要。现在某企业需要构建一个构建一个大数据分析和实时查询平台,需要用到Loader、MySQL、Hive以及Hbase四个主要组件。主要负责数据的迁移、导入、查询、处理四个不同的功能,其中首先由Loader定时将Mysql数据库数据迁移到Hive中,由于Hive数据存储在HDFS中,所以采用Loader将HDFS中的数据导入到HBase中。利用HBase进行实时数据查询,利用Hive的大数据处理能力,分析相关结果。实验目的综合运用大数据组件进行数据的转换和实时查询。实验前提实验环境创建成功后,请等待1-2分钟,后台在执行start-oms.sh脚本:执行sh${BIGDATA_HOME}/om-server/om/sbin/status-oms.sh命令查看OMS的状态,显示信息表示主备OMS服务启动正常再执行下一步。在windows-client打开GoogleChrome浏览器登录FusionInsightManager地址(00:8080/web)。用户名admin,密码Huawei!@34(如原密码过期,则自行修改密码)登录FusionInsightManager后,单击“服务管理”,选择“更多操作>启动集群”。在弹出的提示框中单击“确定”,开始启动集群。界面提示“操作成功。”,单击“完成”,集群成功启动。使用SecureCRT工具登录到fihsots-1节点上,接下来进行环境变量设置与用户认证。cd/opt/hadoopclient/切换到客户端安装目录。sourcebigdata_env配置环境变量。kinituser01进行用户认证,输入用户密码客户端文件安装于fihosts-1服务器的/opt/hadoopclient目录中,认证用户user01,密码Huawei!@34实验任务Mysql+Loader+Hive+HBase离线数据采集分析与实时查询Mysql数据准备安装MySQL参照《7.Loader数据导入导出实战》实验手册7.4.3实验任务在fihosts-1上安装mysql登录MySQL服务器。使用SecureCRT登录到fihosts-1服务器上,执行以下命令:>mysql-uroot-p123456WelcometotheMySQLmonitor.Commandsendwith;or\g.YourMySQLconnectionidis135Serverversion:5.5.48MySQLCommunityServer(GPL)Type'help;'or'\h'forhelp.Type'\c'toclearthecurrentinputstatement.新建数据库loadertest。mysql>createdatabaseloadertest;mysql>useloadertest;新建表socker,并命名time为主键。mysql>DROPTABLEIFEXISTS`socker`;mysql>CREATETABLE`socker`(`time`varchar(50)DEFAULTNULL,`open`floatDEFAULTNULL,`high`floatDEFAULTNULL,`low`floatDEFAULTNULL,`close`floatDEFAULTNULL,`volume`varchar(50)DEFAULTNULL,`endprice`floatDEFAULTNULL)ENGINE=InnoDBDEFAULTCHARSET=utf8mb4;导入数据到socker.cvs。使用WinSCP从windowsclient节点的c:\user\Administrator\DownLoads\Mysql目录下拷贝socker.csv文件到本地root目录。在mysql客户端工具下导入socker.csv数据到表socker。mysql>LOADDATALOCALINFILE"/root/socker.csv"INTOTABLEsockerfieldsterminatedby','optionallyenclosedby'"'linesterminatedby'\r\n'IGNORE1LINES(time,open,high,low,close,volume,endprice);查看socker数据。Mysql数据导入Hive根据Loader实验手册《MySql数据导至Hive》的操作,来到配置Loader基本信息的界面。点击“编辑”将JDBC连接字符串的数据库配置为:jdbc:mysql://:3306/loadertest配置输入设置。“表名”设置为socker,然后单击“下一步”。配置“输入设置”。将”表输入”按钮拖到右侧。双击”表输入”,输入配置中与mysql关联的相关属性,字段为mysql对应字段。配置“Hive输出”。将”Hive输出”按钮拖到右边空白处。输出表参数配置。双击”Hive输出”按钮。根据提示填写参数,其中“输出分隔符”配置为”,”,并添加“输出字段”,如下图所示:连接”表输入”与”Hive输出”。在HDFS中新建路径/user01/hive/warehouse/socker2。>hdfsdfs-mkdir/user01/hive/warehouse/socker2在Hive数据仓库中新建socker2。>createtablesocker2(timestring,openfloat,highfloat,lowfloat,closefloat,volumestring,endpricefloat)rowformatdelimitedfieldsterminatedby','storedastextfilelocation'/user01/hive/warehouse/socker2';进行输出配置,存储类型为HIVE,输出目录为/user01/hive/warehouse/socker2保存并运行,看到如下结果。查看运行结果。>hdfsdfs-ls/user01/hive/warehouse/socker218/04/1522:23:45INFOhdfs.PeerCache:SocketCachedisabled.Found2items-rw-rw----+3user01supergroup02018-04-1522:13/user/hive/warehouse/socker2/_SUCCESS-rw-rw----+3user01supergroup5590002018-04-1522:13/user/hive/warehouse/socker2/part-m-00000使用Hive进行分析查询获取涨幅最大的股票 获取最新的涨幅数据,然后将结果保存到一张新建的表中。>beeline>selectsocker2.time,socker2.open,socker2.endpricefromsocker2wheresocker2.endprice>socker2.opensortbysocker2.endpricedesc;+---------------+---------------+-------------------+--+|socker2.time|socker2.open|socker2.endprice|+---------------+---------------+-------------------+--+|1971/6/6|167.65|170.58||1971/6/9|169.81|170.16||1971/6/8|168.39|169.92||1971/6/5|164.64|168.28||1971/6/4|163.44|166.21||1971/6/14|163.7|165.07||1970/6/1|164.18|164.84||1971/6/2|161.54|164.27||1970/5/30|159.18|164.0||1970/6/4|161.6|162.43||1970/6/6|157.64|162.18||1970/5/29|155.42|159.21||1970/5/28|149.82|155.5||1970/5/27|147.0|150.0||1970/5/26|147.21|147.93||1971/2/22|109.24|115.41||1971/2/18|109.54|113.12|……+--------------+--------------+------------------+--+371rowsselected(30.544seconds)获取最新的涨幅股票>selectsocker2.time,socker2.open,socker2.endpricefromsocker2wheresocker2.endprice>socker2.opensortbysocker2.timedesc;|socker2.time|socker2.open|socker2.endprice|+--------------+--------------+------------------+--+|1972/1/9|83.86|84.68||1972/1/2|54.97|55.72||1972/1/17|80.22|82.63||1972/1/16|80.22|81.57||1972/1/13|86.29|87.98||1972/1/12|83.11|86.36||1972/1/10|84.26|85.95||1971/9/9|92.29|93.47||1971/9/7|95.3|96.01||1971/9/5|93.91|97.21||1971/9/4|91.94|93.92||1971/9/30|25.1|25.52||1971/9/28|25.45|26.07||1971/9/25|35.03|35.39||1971/9/20|36.11|37.08||1971/9/2|92.68|93.22|……+--------------+--------------+------------------+--+5,228rowsselected(26.738seconds)获取增长的股票总数>selectcount(*)fromsocker2wheresocker2.endprice>socker2.open;+-------+--+|_c0|+-------+--+|371|+-------+--+可以发现,增长的股票总数与步骤1、2输出的行数一致。创建表格获取涨幅股票的数据新建一张表格,然后将表格数据在下一节导入到HBase中。 创建表格:>createtableupsocker2likesocker2; 导入数据:>insertintoupsocker2select*fromsocker2wheresocker2.endprice>socker2.opensortbysocker2.endpricedesc; 查看数据:>select*fromupsocker2;HDFS数据导入HBase在HBase中新建名叫cg_hdfstohbase2的数据表。hbase(main):002:0>create'cg_hdfstohbase2','info';0row(s)in0.3900seconds=>Hbase::Table-cg_hdfstohbase2hbase(main):002:0>list参考《Loader数据导入导出实战》实验手册,来到配置Loader“基本信息”的界面。填写相关项参数,如下图所示:配置好后,单击下一步。配置“输入设置”。设置HDFS输入数据文件的路径,及编码类型。配置“转换”。分别选择”CSV文件输入”和”HBase输出”,将它们拖到右侧空白处并连接。配置”CSV文件输入”依据HDFS中存储数据的格式进行输入数据列设置。分隔符配置为”,”,并添加输入字段,如下图所示:配置”HBase输出”按钮。HBase输出表的列和列簇设置。输出配置。存储类型为HBASE_PUTLIST,HBase实例选择HBase,个数为1。查看运行结果。查看HBase表cg_hdfstohbase2的内容。hbase(main):005:0>scan'cg_hdfstohbase2'...1972/1/8column=info:volume,timestamp=1560737665951,value=756025501972/1/9column=info:close,timestamp=1560737665951,value=84.681972/1/9column=info:endprice,timestamp=1560737665951,value=84.681972/1/9column=info:high,timestamp=1560737665951,value=84.941972/1/9column=info:low,timestamp=1560737665951,value=82.611972/1/9column=info:open,timestamp=1560737665951,value=83.861972/1/9column=info:volume,timestamp=1560737665951,value=77569311750row(s)in1.5070secondsHBase数据实时查询在HBaseShell客户端下,查询表“cg_hdfstohbase2”中指定行“1972/1/15”中的信息。hbase(main):003:0>get'cg_hdfstohbase2','1972/1/15'COLUMNCELLinfo:closetimestamp=1560737665951,value=80.87info:endpricetimestamp=1560737665951,value=80.87info:hightimestamp=1560737665951,value=83.76info:lowtimestamp=1560737665951,value=79.42info:opentimestamp=1560737665951,value=83.01info:volumetimestamp=1560737665951,value=996781006row(s)in0.0150seconds查询指定时间段1971年8月15到1972年1月9日内的信息。>scan'cg_hdfstohbase2',{FILTER=>"ValueFilter(>,'binary:979')"}COLUMN=>'info:endprice',STARTROW=>'1971/08/15',STOPROW=>'1972/1/9'}ROWCOLUMN+CELL……1972/1/2column=info:endprice,timestamp=1560737665951,value=55.721972/1/20column=info:endprice,timestamp=1560737665951,value=79.021972/1/21column=info:endprice,timestamp=1560737665951,value=76.781972/1/3column=info:endprice,timestamp=1560737665951,value=55.291972/1/4column=info:endprice,timestamp=1560737665951,value=54.71972/1/5column=info:endprice,timestamp=1560737665951,value=53.661972/1/6column=info:endprice,timestamp=1560737665951,value=52.721972/1/7column=info:endprice,timestamp=1560737665951,value=52.821972/1/8column=info:endprice,timestamp=1560737665951,value=52.41385row(s)in0.2710seconds查询大于某个值的所有列(系统会把数值当成字符串进行比较)。>scan'cg_hdfstohbase2',{FILTER=>"ValueFilter(>,'binary:979')"}...1971/3/25column=info:low,timestamp=1560737665951,value=99.571971/3/26column=info:close,timestamp=1560737665951,value=99.671971/3/26column=info:endprice,timestamp=1560737665951,value=99.671971/3/26column=info:low,timestamp=1560737665951,value=98.981971/3/27column=info:close,timestamp=1560737665951,value=99.171971/3/27column=info:endprice,timestamp=1560737665951,value=99.171971/3/28column=info:open,timestamp=1560737665951,value=98.881972/1/15column=info:volume,timestamp=1560737665951,value=9967810021row(s)in0.1830seconds查询以endprice结尾的所有信息,且字符串值大于979。hbase(main):005:0*scan'cg_hdfstohbase2',{FILTER=>"ValueFilter(>,'binary:979')ANDColumnPrefixFilter('endprice')"}ROWCOLUMN+CELL1970/2/23column=info:endprice,timestamp=1560737665951,value=99.591970/3/21column=info:endprice,timestamp=1560737665951,value=98.721970/3/24column=info:endprice,timestamp=1560737665951,value=99.931971/3/26column=info:endprice,timestamp=1560737665951,value=99.671971/3/27column=info:endprice,timestamp=1560737665951,value=99.175row(s)in0.0190seconds股票交易数据采集与增量查询综合实验本实验主要是监控服务器本地文件路径下的文件,通过Flume采集到HDFS中,接着在采用loader将数据从HDFS中上传到hive中,然后在hue中进行查询和统计分析。在Hive中建立表指引到HDFS文件所在的目录在建建表,命令如下:createtableover_socker(timestring,openfloat,highfloat,lowfloat,closefloat,volumestring,endpricefloat)partitionedby(ptstring)rowformatdelimitedfieldsterminatedby','storedastextfile;修改表的location1.进入fihosts-1的/home/omm/test目录,删除此目录下的所有文件。2.允许Hive模拟客户端用户。在Hive的“服务配置”中,选择参数类别为“全部配置”,设置“hive.server2.enable.doAs”的参数为“true”。修改完成后点击“保存配置”勾选“重新启动受影响的服务或实例”后,点击“确定”,更新配置和重启角色实例。3在HDFS中创建一个目录,用于存放hive的数据hdfsdfs-mkdir/flume/hive_add留意创建日期4.然后在hive中执行命令:altertableover_socker

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论