HDFS

Spark机器学习之MLlib整理分析

 ̄綄美尐妖づ 提交于 2020-04-03 16:46:00
友情提示 : 本文档根据林大贵的《Python+Spark 2.0 + Hadoop机器学习与大数据实战》整理得到,代码均为书中提供的源码(python 2.X版本)。 本文的可以利用pandoc转换为docx文档,点击这里安装下载 pandoc 后,在终端输入以下命令: pandoc youfilename.md -f markdown -t docx -s -o outputfilename.docx Mllib 决策树二元分类 环境准备 这个阶段包括数据的下载和整理,去除缺失的数据,不符合规范的数据(比如乱码等),数据类型转换,将字符串类型映射为数字类型(建立字典),数据类型转患(将字符串类型的数字转换为浮点型的数字)。 导入这个模型我们需要的包 # -*- coding: UTF-8 -*- import sys from time import time import pandas as pd import matplotlib.pyplot as plt from pyspark import SparkConf, SparkContext from pyspark.mllib.tree import DecisionTree from pyspark.mllib.regression import LabeledPoint import numpy as np

Kafka到Hdfs的数据Pipeline整理

扶醉桌前 提交于 2020-04-03 04:06:15
找时间总结整理了下数据从Kafka到Hdfs的一些pipeline,如下 1> Kafka -> Flume –> Hadoop Hdfs 常用方案,基于配置,需要注意hdfs小文件性能等问题. GitHub地址: https://github.com/apache/flume 2> Kafka -> Kafka Hadoop Loader ->Hadoop Hdfs Kafka Hadoop Loader通过为kafka Topic下每个分区建立对应的split来创建task实现增量的加载数据流到hdfs,上次消费的partition offset是通过zookeeper来记录的.简单易用. GitHub地址: https://github.com/michal-harish/kafka-hadoop-loader 3> Kafka -> KaBoom -> Hadoop Hdfs KaBoom是一个借助Krackle(开源的kafka客户端,能极大的减少对象的创建,提高应用程序的性能)来消费kafka的Topic分区数据随后写如hdfs,利用Curator和Zookeeper来实现分布式服务,能够灵活的根据topic来写入不同的hdfs目录. GitHub地址: https://github.com/blackberry/KaBoom 4> Kafka -> Kafka

java操作HDFS相关demo(TDH,kerberos认证)

ぃ、小莉子 提交于 2020-04-02 21:34:25
public class Test { private static Configuration conf; private static FileSystem fs; //开启kerberos认证 static { System.setProperty("java.security.krb5.conf", "D:\\HDFS-test\\krb5.conf"); conf=new Configuration(); conf.addResource(new Path("D:\\HDFS-test\\hdfs-site.xml")); conf.set("hadoop.security.authentication", "kerberos"); //配置认证方式 conf.set("fs.default.name", " hdfs://172.20.237.112:8020 ");//namenode的地址和端口 UserGroupInformation.setConfiguration(conf); try { UserGroupInformation.loginUserFromKeytab("hdfs/gz237-112", "D:\\HDFS-test\\hdfs.keytab"); } catch (IOException e) { e.printStackTrace();

Hadoop(五)搭建Hadoop客户端与Java访问HDFS集群

怎甘沉沦 提交于 2020-04-01 01:20:20
前言   上一篇详细介绍了HDFS集群,还有操作HDFS集群的一些命令,常用的命令: hdfs dfs -ls xxx hdfs dfs -mkdir -p /xxx/xxx hdfs dfs -cat xxx hdfs dfs -put local cluster hdfs dfs -get cluster local hdfs dfs -cp /xxx/xxx /xxx/xxx hdfs dfs -chmod -R 777 /xxx hdfs dfs -chown -R zyh:zyh /xxx   注意:这里要说明一下-cp,我们可以从本地文件拷贝到集群,集群拷贝到本地,集群拷贝到集群。 一、Hadoop客户端配置   其实在前面配置的每一个集群节点都可以做一个Hadoop客户端。但是我们一般都不会拿用来做集群的服务器来做客户端,需要单独的配置一个客户端。 1)安装JDK 2)安装Hadoop 3)客户端配置子core-site.xml    4)客户端配置之mapred-site.xml    5)客户端配置之yarn-site.xml    以上就搭建了一个Hadoop的客户端 二、Java访问HDFS集群 2.1、HDFS的Java访问接口    1)org.apache.hadoop.fs.FileSystem     是一个通用的文件系统API

Impala和Hive的关系(详解)

旧城冷巷雨未停 提交于 2020-03-30 15:11:06
Impala和Hive的关系    Impala是基于Hive的大数据实时分析查询引擎 ,直接使用Hive的元数据库Metadata,意味着impala元数据都存储在Hive的metastore中。并且impala兼容Hive的sql解析,实现了Hive的SQL语义的子集,功能还在不断的完善中。 与Hive的关系   Impala 与Hive都是构建在Hadoop之上的数据查询工具各有不同的侧重适应面,但从客户端使用来看Impala与Hive有很多的共同之处,如数据表元数 据、ODBC/JDBC驱动、SQL语法、灵活的文件格式、存储资源池等。 Impala与Hive在Hadoop中的关系如下图 所示。 Hive适合于长时间的批处理查询分析 , 而Impala适合于实时交互式SQL查询 ,Impala给数据分析人员提供了快速实验、验证想法的大数 据分析工具。可以先使用hive进行数据转换处理,之后使用Impala在Hive处理后的结果数据集上进行快速的数据分析。              Impala相对于Hive所使用的优化技术 1、没有使用 MapReduce进行并行计算,虽然MapReduce是非常好的并行计算框架,但它更多的面向批处理模式,而不是面向交互式的SQL执行。与 MapReduce相比:Impala把整个查询分成一执行计划树,而不是一连串的MapReduce任务

flume参数解析+启动参数解析

China☆狼群 提交于 2020-03-30 06:10:53
flume参数: #example.conf:单节点Flume配置 #命名此代理上的组件 a1.sources = r1 a1.sinks = k1 a1.channels = c1 #描述/配置源 a1.sources.r1.type = netcat a1.sources.r1.bind = localhost a1.sources.r1.port = 44444 #描述接收器 a1.sinks.k1.type = logger #使用缓冲内存中事件的通道 a1.channels.c1.type = memory a1.channels.c1.capacity = 1000 a1.channels.c1.transactionCapacity = 100 #将源和接收器绑定到通道 a1.sources.r1.channels = c1 a1.sinks.k1.channel = c1 此配置定义名为a1的单个代理。 a1有一个侦听端口44444上的数据的源,一个缓冲内存中事件数据的通道,以及一个将事件数据记录到控制台的接收器。 根据scource、channel、sink划分 1、Sources   Flume中常用的Source有NetCat,Avro,Exec,Spooling Directory,Taildir,也可以根据业务场景的需要自定义Source,具体介绍如下。

02 使用spark进行词频统计【scala交互】

社会主义新天地 提交于 2020-03-30 00:28:39
我们已经在CentOS7中安装了spark,本节将展示如何在spark中通过scala方式交互的进行词频统计。 1 系统、软件以及前提约束 CentOS 7 64 工作站 作者的机子ip是192.168.100.200,主机名为danji,请读者根据自己实际情况设置 hadoop已经安装完毕并启动 https://www.jianshu.com/p/b7ae3b51e559 spark已经安装完毕并启动 https://www.jianshu.com/p/8384ab76e8d4 为去除权限对操作的影响,所有操作都以root进行 2 操作 1.使用xshell以root登录到192.168.100.200 2.新建一个文件,输入一些字符串,上传到HDFS # 进入hadoop的bin目录 cd /root/hadoop-2.5.2/bin # 编辑word,加入以下内容,保存退出 I am zhangli I am xiaoli who are you I am ali hello jiangsu wanhe wanhe # 上传word到HDFS ./hdfs dfs -put word /word # 查看 ./hdfs dfs -cat /word 3.进入到spark命令行 # 进入spark的命令目录 cd /root/spark-2.2.1-bin-hadoop2.7

Write a file in hdfs with Java

流过昼夜 提交于 2020-03-29 02:09:13
问题 I want to create a file in HDFS and write data in that. I used this code: Configuration config = new Configuration(); FileSystem fs = FileSystem.get(config); Path filenamePath = new Path("input.txt"); try { if (fs.exists(filenamePath)) { fs.delete(filenamePath, true); } FSDataOutputStream fin = fs.create(filenamePath); fin.writeUTF("hello"); fin.close(); } It creates the file, but it does't write anything in it. I searched a lot but didn't find anything. What is my problem? Do I need any

Hadoop技术内幕HDFS-笔记3之序列化

北城余情 提交于 2020-03-29 00:58:34
1.1. 序列化 org.apache.hadoop.io包 序列化:将一个对象编码为一个字节流 反序列化:相反过程 用途: 1、 作为一种持久化格式:可存储在硬盘上,供以后反序列化使用 2、 作为一种通信数据格式:可在JVM之间,通过网路相互传递 3、 复制的机制:深度复制 1.1.1. java内建序列化机制: 只有实现Serializabl接口(声明)即可。 对象输出流ObjectOutputStream 的writeObject(obj)方法 序列化输出的结果中包含了大量与类有关的信息。 对象输入流ObjectInputStream的readObject()方法,读取对象时必须小心跟踪存储对象的数量、顺序和类型 对于父类的处理,如果父类没有实现串行化接口,则其必须有默认的构造函数(即没有参数的构造函数)。否则编译的时候就会报错。在反串行化的时候,默认构造函数会被调用(即会调用构造方法创建新的对象)。但是若把父类标记为可以串行化,则在反串行化的时候,其默认构造函数不会被调用。这是为什么呢?这是因为Java 对串行化的对象进行反串行化的时候,直接从流里获取其对象数据来生成一个对象实例,而不是通过其构造函数来完成(即无新的对象进行构造)。 package com.test; import java.io.FileInputStream; import java.io

大型分布式网站架构设计与实践5

不打扰是莪最后的温柔 提交于 2020-03-28 17:42:30
第5章 数据分析 5.1 日志收集 5.1.1 inotify机制 通过inotify机制,能够对文件系统的变化进行监控,如对文件进行删除,修改等操作,可以及时通知应用程序进行相关事件的处理。 5.1.2 ActiveMQ-CPP C++接口的消息订阅系统 5.1.3 架构和存储 数据需要经过inotify客户端,经由ActiveMQ进行转发,通过storm进行实时处理,再存储到Mysql、HDFS、Hbase或者Memcache这些存储系统当中,最后再进行深度分析或者实时的展现 5.1.4 Chukwa 5.2 离线数据分析 5.2.1 Hadoop项目简介 Hadoop:HDFS,MapReduce,Zookeeper、Hbase、Hive、Pig、Mahout 5.2.2 Hadoop环境搭建 略 5.2.3 MapReduce编写 5.2.4 Hive的使用 略 5.3 流式数据分析 5.3.1 Storm的介绍 1、Storm是一个开源的分布式实时计算系统,可以简单,可靠地对大量的流式数据进行分析。 2、通过zeroMQ作为底层的消息队列,可以保证消息能得到很快的处理 5.3.2 安装部署storm 略 5.3.3 storm的使用 5.4 数据同步 在线的OLTP 或 日志系统-----OLAP系统----->多维度复杂的数据分析和汇总操作 5.4.1 离线数据同步 1