首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Pyspark学习笔记(四)弹性分布式数据集 RDD 综述(上)

RDD(弹性分布式数据集) 是 PySpark 的基本构建块,是spark编程中最基本的数据对象;     它是spark应用中的数据集,包括最初加载的数据集,中间计算的数据集,最终结果的数据集,都是RDD。     从本质上来讲,RDD是对象分布在各个节点上的集合,用来表示spark程序中的数据。以Pyspark为例,其中的RDD就是由分布在各个节点上的python对象组成,类似于python本身的列表的对象的集合。区别在于,python集合仅在一个进程中存在和处理,而RDD分布在各个节点,指的是【分散在多个物理服务器上的多个进程上计算的】     这里多提一句,尽管可以将RDD保存到硬盘上,但RDD主要还是存储在内存中,至少是预期存储在内存中的,因为spark就是为了支持机器学习应运而生。 一旦你创建了一个 RDD,就不能改变它。

03
您找到你想要的搜索结果了吗?
是的
没有找到

自动分区推断

表分区是一种常见的优化方式,比如Hive中就提供了表分区的特性。在一个分区表中,不同分区的数据通常存储在不同的目录中,分区列的值通常就包含在了分区目录的目录名中。Spark SQL中的Parquet数据源,支持自动根据目录名推断出分区信息。例如,如果将人口数据存储在分区表中,并且使用性别和国家作为分区列。那么目录结构可能如下所示: tableName |- gender=male |- country=US ... ... ... |- country=CN ... |- gender=female |- country=US ... |- country=CH ... 如果将/tableName传入SQLContext.read.parquet()或者SQLContext.read.load()方法,那么Spark SQL就会自动根据目录结构,推断出分区信息,是gender和country。即使数据文件中只包含了两列值,name和age,但是Spark SQL返回的DataFrame,调用printSchema()方法时,会打印出四个列的值:name,age,country,gender。这就是自动分区推断的功能。 此外,分区列的数据类型,也是自动被推断出来的。目前,Spark SQL仅支持自动推断出数字类型和字符串类型。有时,用户也许不希望Spark SQL自动推断分区列的数据类型。此时只要设置一个配置即可, spark.sql.sources.partitionColumnTypeInference.enabled,默认为true,即自动推断分区列的类型,设置为false,即不会自动推断类型。禁止自动推断分区列的类型时,所有分区列的类型,就统一默认都是String。 案例:自动推断用户数据的性别和国家

01

如何进行批量差异分析并绘制其火山图及拼图

上周,曾老师给了我一个8个样本8个组别的转录组数据,即每组只有一个样本的转录组数据。我的处理方式是从中抽取两组进行差异分析,与文中描述的显著差异基因数目以及文中指出的差异基因进行比较,看看分析结果是否大致相同。但是,其实我有些没有理解到老师的意思。老师的初衷是想同原文一样批量绘制「同个部位」两两组别间的差异分析结果,看看其差异基因数量的分布,然后进行比较。在看到我理解偏差后,老师还飞快地给我提供了单样本批量差异分析的脚本。「因此,本周我们主要重点展示如何批量进行单样本差异分析以及批量绘制火山图并拼图」。

02

CentOS常用查看系统、资源、服务、用户等命令

系统:  # uname -a   # 查看内核/操作系统/CPU信息  # cat /etc/issue  # cat /etc/redhat-release # 查看操作系统版本  # cat /proc/cpuinfo  # 查看CPU信息  # hostname   # 查看计算机名  # lspci -tv   # 列出所有PCI设备  # lsusb -tv   # 列出所有USB设备  # lsmod    # 列出加载的内核模块  # env    # 查看环境变量  资源:  # free -m   # 查看内存使用量和交换区使用量  # df -h    # 查看各分区使用情况  # du -sh <目录名>  # 查看指定目录的大小  # grep MemTotal /proc/meminfo # 查看内存总量  # grep MemFree /proc/meminfo # 查看空闲内存量  # uptime   # 查看系统运行时间、用户数、负载  # cat /proc/loadavg  # 查看系统负载  磁盘和分区:  # mount | column -t  # 查看挂接的分区状态  # fdisk -l   # 查看所有分区  # swapon -s   # 查看所有交换分区  # hdparm -i /dev/hda  # 查看磁盘参数(仅适用于IDE设备)  # dmesg | grep IDE  # 查看启动时IDE设备检测状况  网络:  # ifconfig   # 查看所有网络接口的属性  # iptables -L   # 查看防火墙设置  # route -n   # 查看路由表  # netstat -lntp   # 查看所有监听端口  # netstat -antp   # 查看所有已经建立的连接  # netstat -s   # 查看网络统计信息  进程:  # ps -ef   # 查看所有进程  # top    # 实时显示进程状态(另一篇文章里面有详细的介绍)  用户:  # w    # 查看活动用户  # id <用户名>   # 查看指定用户信息  # last    # 查看用户登录日志  # cut -d: -f1 /etc/passwd # 查看系统所有用户  # cut -d: -f1 /etc/group # 查看系统所有组  # crontab -l   # 查看当前用户的计划任务  服务:  # chkconfig –list  # 列出所有系统服务  # chkconfig –list | grep on # 列出所有启动的系统服务  程序:  # rpm -qa   # 查看所有安装的软件包

03
领券