数据处理

pandas生意参谋数据处理

霸气de小男生 提交于 2020-01-16 04:47:39
import os import pandas as pd hhye = os . listdir ( r 'C:\Users\18352\Desktop\Python\read_Excel\01-天猫行业数据分析' ) for k in range ( len ( hhye ) ) : wwdu = os . listdir ( r 'C:\Users\18352\Desktop\Python\read_Excel\01-天猫行业数据分析\{}' . format ( hhye [ k ] ) ) for j in range ( len ( wwdu ) ) : path = r 'C:\Users\18352\Desktop\Python\read_Excel\01-天猫行业数据分析\{}\{}' . format ( hhye [ k ] , wwdu [ j ] ) dfs = [ ] shop = os . listdir ( r 'C:\Users\18352\Desktop\Python\read_Excel\01-天猫行业数据分析\{}\{}' . format ( hhye [ k ] , wwdu [ j ] ) ) for i in range ( len ( shop ) ) : df0 = pd . read_csv ( r 'C:\Users

Spark键值对Pair RDD操作

泄露秘密 提交于 2020-01-15 08:05:42
1、键值对pair RDD产生的背景 pair RDD提供了一些新的操作接口,比如统计每个产品的评论,将数据中键相同的分为一组,将两个不同的RDD进行分组合并等。我们通常从一个RDD中提取某些字段如事件时间、用户ID,并使用这些字段作为pair RDD操作中的键。 2、创建pair RDD (1)读取键值对格式数据时直接返回其键值对数据组成的pair RDD。 (2)使用map()函数将普通的RDD转为pair RDD。 3、pair RDD的转化操作 (1)mapValues() 对pair RDD中的每个值应用一个函数而不改变键,功能类似于map{case (x,y):(x,func(y))} (2)reduceByKey() 与reduce相似,接收一个函数,为数据集中每个键进行并行的归约操作,每个归约操作会将键相同的值合并起来。返回一个由各键和对应键归约出来的结果值组成的新RDD。 例如:在Scala中使用reduceBykey()和mapValues()计算每个键对应的平均值 rdd.mapValues(x =>(x,1)).reduceByKey((x,y)=>(x._1 + y._1,x._2 + y._2)) (注:此处x=>(x,1)是为了构造pair RDD,reduceByKey(x,y)中的x,y指的是键相同的两个值) (3)combineByKey()

数据处理之去除空格

生来就可爱ヽ(ⅴ<●) 提交于 2020-01-15 07:05:46
# -*- coding: utf-8 -*- #strip函数作用:清除字符型数据左右的空格。 #strip函数语法:strip from pandas import read_csv df = read_csv("D:/python/workspace/pythonStudy/10.csv") newName = df['key'].str.lstrip() #去除左边的空格 newName = df['key'].str.rstrip() #去除右边的空格 newName = df['key'].str.strip() #去除两边的空格 df['key'] = newName #替换以前的列 来源: CSDN 作者: xiaoyaGrace 链接: https://blog.csdn.net/xiaoyaGrace/article/details/103777985

Spark简介安装和简单例子

时光怂恿深爱的人放手 提交于 2020-01-15 03:30:33
Spark简介 Spark是一种快速、通用、可扩展的大数据分析引擎,目前,Spark生态系统已经发展成为一个包含多个子项目的集合,其中包含SparkSQL、Spark Streaming、GraphX、MLlib等子项目,Spark是基于内存计算的大数据并行计算框架。简单来说Spark是 内存迭代计算,每个算子将计算结果保存在内存中,其他算子,读取这个结果,继续计算。 Spark的四个特性: 1.快 Spark实现了高效的DAG执行引擎,可以通过基于内存来高效处理数据流。 2.易用 Spark支持Java、Python和Scala的API,还支持超过80种高级算法,而且Spark支持交互式的Python和Scala的shell,可以非常方便地在这些shell中使用Spark集群来验证解决问题的方法。 依赖外部数据源hdfs、本地文件.kafka.flume.mysql.ELK) 3.通用 Spark提供了统一的解决方案。Spark可以用于批处理、交互式查询(Spark SQL)、实时流处理(Spark Streaming)、机器学习(Spark MLlib)和图计算(GraphX)。这些不同类型的处理都可以在同一个应用中无缝使用。 4.兼容性 Spark可以非常方便地与其他的开源产品进行融合。比如,Spark可以使用Hadoop的YARN和Apache

初识Spark程序

狂风中的少年 提交于 2020-01-15 00:27:47
执行第一个spark程序 普通模式提交任务 : bin/spark-submit \ --class org.apache.spark.examples.SparkPi \ --master spark://hdp-node-01:7077 \ --executor-memory 1G \ --total-executor-cores 2 \ examples/jars/spark-examples_2.11-2.0.2.jar \ 10 该算法是利用蒙特·卡罗算法求圆周率PI,通过计算机模拟大量的随机数,最终会计算出比较精确的π。 高可用模式提交任务 : 在高可用模式下,因为涉及到多个Master,所以对于应用程序的提交就有了一点变化,因为应用程序需要知道当前的Master的IP地址和端口。这种HA方案处理这种情况很简单,只需要在SparkContext指向一个Master列表就可以了, 如 spark://host1:port1,host2:port2,host3:port3 ,应用程序会轮询列表,找到活着的Master。 bin/spark-submit \ --class org.apache.spark.examples.SparkPi \ --master spark://hdp-node-01:7077,hdp-node-02:7077,hdp-node-03

Spark DataFrame、Spark SQL、Spark Streaming入门教程

五迷三道 提交于 2020-01-14 23:06:47
文章目录 前言 1、RDD、Spark DataFrame、Spark SQL、Spark Streaming 2、Spark DataFrame 2.1 创建基本的Spark DataFrame 2.2 从各类数据源创建Spark DataFrame 2.3 Spark DataFrame持久化数据 2.4 Dataframe常见的API 3、Spark SQL 4、Spark Streaming 实时计算TCP端口的数据 前言   本文介绍Spark DataFrame、Spark SQL、Spark Streaming入门使用教程,这些内容将为后面几篇进阶的streaming实时计算的项目提供基本计算指引,本文绝大部分内容来自Spark官网文档(基于PySpark): Spark DataFrame 、 Spark SQL 、 Spark Streaming 1、RDD、Spark DataFrame、Spark SQL、Spark Streaming   RDD:大家最熟悉的数据结构,主要使用transmissions和actions 相关函数式算子完成数据处理和数理统计,例如map、reduceByKey,rdd没有定义 Schema(一般指未定义字段名及其数据类型), 所以一般用列表索引号来指定每一个字段。 例如, 在电影数据的推荐例子中: move_rdd.map

Spark优化 – 基础篇

邮差的信 提交于 2020-01-14 19:13:16
  大数据调优总体方向:CPU,内存以及IO(Disk,Network)三个方面来进行。   对于多次使用的数据(RDD/DataFrame),通过cache()或者persis()来进行缓存,避免每一次都从数据源获取(减少磁盘IO); 系统资源优化   如下参数可以进行调优(可以参见附录中介绍的spark和yarn的交互内容): num-executors :executor数量(Spark Job的进程数量);结合executor-core进行考虑,两者相乘的量[40,100],尽量不要超过YARN的总core的指定比例,有的说25%,有的说50% executor-memory :executor内存上线,建议8G左右,申请的内存总量(num-executors*executor-memory)不要超过YARN的80%; executor-cores :executor的核数(线程数),即并行执行task的数据量,建议值4个,总量不要超过YARN总核数的50%; driver-memory :默认1G,足以。 spark.default.parallelizm :spark的并行度,默认数是待处理数据的hdfs的datablock数量;但是如果数据量很大的话明显不合适,task数量>>core的数量会拉低效率;spark官方建议要么是和分配的从cores数量保持一致

Spark Structured Streaming 编程模型

拥有回忆 提交于 2020-01-14 16:35:36
从Spark 2.0.0开始,提供了一个用于实时流处理的新组件- Structured Streaming(结构化流) 。 本文总结Structured Streaming的编程模型,顺带会总结Structured Streaming与Spark Streaming的区别。 Structured Streaming 编程模型 首先, Structured Streaming 有一个 Input Table 的概念。即将输入的数据流视为一张 Append-Only Input Table 表。流式数据源源不断地追加到 Input Table 表中,每条数据都对应表中的一行。 其次, Structured Streaming 有一个 Trigger 的概念。即多久去检查一次新数据并执行查询。 再次, Structured Streaming 有一个 Query 的概念。即在 Input Table 上执行各种操作,如 map/filter/groupBy/window 等等。 然后, Structured Streaming 有一个 Result Table 的概念。即每次Trigger后,会将 Query 结果更新到 Result Table 结果表中。 最后, Structured Streaming 有一个 Output Mode 的概念。即每次Trigger后,将 Result

MapReduce 原理与 Python 实践

你说的曾经没有我的故事 提交于 2020-01-14 15:44:13
MapReduce 原理与 Python 实践 1. MapReduce 原理 以下是个人在MongoDB和Redis实际应用中总结的Map-Reduce的理解 Hadoop 的 MapReduce 是基于 Google - MapReduce: Simplified Data Processing on Large Clusters 的一种实现。对 MapReduce 的基本介绍如下: MapReduce is a programming model and an associated implementation for processing and generating large data sets. Users specify a map function that processes a key/value pair to generate a set of intermediate key/value pairs, and a reduce function that merges all intermediate values associated with the same intermediate key. MapReduce 是一种编程模型,用于处理大规模的数据。用户主要通过指定一个 map 函数和一个 reduce 函数来处理一个基于key/value

阿里巴巴飞天大数据架构体系与Hadoop生态系统

倖福魔咒の 提交于 2020-01-14 14:56:08
很多人问阿里的飞天大数据平台、云梯2、MaxCompute、实时计算到底是什么,和自建Hadoop平台有什么区别。 先说Hadoop 什么是Hadoop? Hadoop是一个开源、高可靠、可扩展的分布式大数据计算框架系统,主要用来解决海量数据的存储、分析、分布式资源调度等。Hadoop最大的优点就是能够提供并行计算,充分利用集群的威力进行高速运算和存储。 Hadoop的核心有两大板块:HDFS和MapReduce。 HDFS全称Hadoop Distributed File System,是一种分布式文件存储系统。分布式文件系统是指将固定于某个地点的某个文件系统,扩展到任意多个文件系统,众多的节点组成一个文件系统网络。每个节点可以分布在不同的地点,通过网络进行节点间的通信和数据传输。人们在使用分布式文件系统时,无需关心数据是存储在哪个节点上、或者是从哪个节点获取的,只需要像使用本地文件系统一样管理和存储文件系统中的数据。HDFS有着高容错性,可以部署在低廉的硬件;提供高吞吐量来访问应用程序的数据;可以有效解决超大数据量存储和管理难题的分布式文件系统属性的特点。因此HDFS天然适合有着超大数据集的应用程序,或者说本身就是为超大规模数据量处理的应用程序而设计的。 MapReduce是一个分布式离线并行计算框架,能够对大数据集进行并行处理