什么是粒度分析

核心提示矿粒(或矿块)的大小称为粒度。破碎、磨碎和选别过程中所处理的物料,都是粒度不同的各种矿粒的混合物。将矿粒混合物按粒度分成若干级别,这些级别叫做粒级。物料中各粒级的相对含量叫做粒度组成。粒度组成的测定工作叫做粒度分析。 粒度组成的测定是一项很

矿粒(或矿块)的大小称为粒度。破碎、磨碎和选别过程中所处理的物料,都是粒度不同的各种矿粒的混合物。将矿粒混合物按粒度分成若干级别,这些级别叫做粒级。物料中各粒级的相对含量叫做粒度组成。粒度组成的测定工作叫做粒度分析。 粒度组成的测定是一项很重要的工作,在许多工业部门都常遇到。例如水泥工业、冶金工业、煤粉制备、土工试验、甚至食品加工等部门,都会用到粒度分析,也是选矿试验中必不可少的一个检测项目,原矿和产品都常需进行粒度分析。 没有一个粒度分析方法,可以适用于一切粒度范围,一般都是按粒度大小不同采用不同的测定方法。目前应用的各种测定方法及其适用范围如表1所示。其中有的方法得出的是粒度分布,有的方法得出的是平均直径;有的是直接测量粒度(如筛析和显微镜测定);有的则是根据其他参数换算(如沉降速度和比表面);有的是在气相中进行的干法,有的则是在液相中进行的湿法。表1 粒度测定方法及其所适用的粒度范围 选矿生产和试验研究中经常采用的粒度分析方法是筛分分析、水析和显微镜分析。 对于粉状物料常常直接测定比表面(指单位重量的矿粒群的总表面积)。从比表面的测定数据可在一定假定条件下,求出平均粒度(直径)。测定比表面的主要方法有吸附法、渗透法(液体渗透法;气体渗透法)。 几种粒度测定方法比较如下:筛析法的优点是设备便宜、坚固、易制、易操作,适于测定粗粒。一般干筛可筛至100微米(150目),再细建议钐湿筛,现今用光电技术制造的微孔筛可以湿筛细到10微米,但实际上小于40-60微米多半用沉降分析,前者测得的是几何尺寸,后者是具有相同沉降速度的当量球径。筛析法受颗粒形状影响很大。显微镜法直观测出颗粒尺寸和形状,因此常用于校准其它测量方法,其最佳测量范围为05-20微米之间,当粒度扩大到40微米以上,则易引起偏差。沉降法测量粒度的最大优点是统计性和重复性好,但受颗粒形状和结构影响很大,适用于1-75微米,不能直接观测颗粒的大小和形状。吸附法的特点是测定范围较大,但不能测出粒度分布曲线,只能间接换算出一个增均尺寸,而且受环境影响较大。渗透法是一种经济简便的粒度测量法,但可靠性和重复性差。

(一)粒级分析

影响球磨机生产效率的因素有很多,但可以归纳为一下3点:
一、物料性质、给矿粒度和产品细度
1物料性质
在前面中讲过了可磨性系数。从中可知,可磨性系数是与矿石的机械强度,嵌布特性和磨矿比等有关。矿石愈硬,可磨性愈小,磨细它所耗的能量较多,球磨机的处理能力也较低。此外,矿石中各矿物的性质也有差别,有易磨的和难磨的,因而会有选择磨细的现象,即一部分还未磨细,但另一部分已过粉碎了,对于怕过粉碎的钨锡矿,尤其要注意,应该及时把已磨细的分出。矿石愈细愈难磨,随磨矿比增大,可磨性系数也会变化。矿料的可磨性一般是不能改变的,但近年来的研究成果表明,在某些特殊情况下,将矿石进行预热处理、电热照射或使用表面活性药剂等方法,可以显著地改变它们的被磨性能,有的已应用于生产实践,不仅减少了磨矿和磁选的段数,而且精矿指标也有提高。
2给矿粒度
球磨机给矿愈粗,由于需要的磨矿时间较长,将它磨到规定细度的功牦较多,生产率也较小。给矿粒度的改变对球磨机生产率的影响是与矿石性质和产品细度有关。因此,当要求提高球磨机生产能力时,在一定范围内,降低给矿粒度有重大作用。
3产品细度
球磨机磨矿产品粒度直接影响着选别指标。磨矿产品粒度过粗,有用矿物和脉石没有获得充分解离,太细了又引起较严重的过粉碎,两种情况都会使选别指标降低。如将磨矿粒度改变为较细后,能量消耗和钢耗量增加,生产率降低,每磨碎一吨矿石的费用比磨矿较粗时要高。因此,确定磨矿粒度须按技术经济条件综合考。
二、球磨机的结构和转速
1磨机的类型 2磨机的直径和长度 3磨矿机的转速4衬板类型
球磨机用平滑衬板的生产率,常比不平滑衬板磨机的小。使用过于厚的衬板,将减少球磨机的有效容积,生产率也就降低。衬板磨损后,磨机内直径将加大,这时钢球的装球率会显得偏低,使生产率减少,应适当地增加装球量。
三、操作条件
关于这方面的因素,包括装球制度、磨矿浓度和给矿速度等项。
如果您还有什么问题可以咨询上海同力(>

磨矿粒度对浮选的影响?

一般而言,对于封闭性的湖泊,沉积物特征强烈地受到气候与环境的影响,其沉积物颗粒粒径直接反映了沉积水动力状况和环境的演变过程。细粒和粗粒沉积物分别代表了湖水物理能量降低和增强的阶段,即粒度直接反映了湖水的水动力条件:当气候变暖时,当降水量增多,入湖水流搬运能力较强,会导致粒度的变粗。但对于本区的洞庭湖而言,一是由于它是过水型湖泊,几乎无典型的湖泊沉积,多为河流相沉积;二因经常的沉积缺失,造成了复杂的沉积环境,使反映气候与环境的粒径变成多解性问题。

因此,本研究仅从粒度对元素分布的影响及沉积环境条件的恢复两个方面作简单讨论。

1粒度分布

ZK1 钻孔沉积物颗粒砂砾部分的平均粒径和标准差见表5-16,钻孔不同深度粒度的变化见图5-17。由于相对较细颗粒沉积未采样或采样少,故本分析并不能代表全孔不同时间段沉积物粒度的完整变化,仅表示更新世早、中期部分时间较粗粒沉积物的粒度变化情况。

图5-17 ZK1砂砾部分的粒度分析结果

表5-16 洞庭湖区ZK1粒度分析结果统计表 (单位:mm)

其中标准差反映了沉积物颗粒的分选程度,即不同粒径颗粒的分散和集中状态,标准差数值越大,表示其分选程度越差,反映了较强的水动力条件。

从表可见,该孔以中细粒为主,变差亦较大,反映了较强的水动力条件。

从图可见,若以左侧黑色调代表粗粒,右侧黑色调代表细粒,则从下至上呈周期性波动。

进一步作<1mm粒级含量随深度的变化图(图518)。由于沉积物粒度的变化受水动力条件制约,而水动力条件往往受气候环境变化的影响。气候变化最直接的反映就是气温和降水,所以沉积物粒度变化曲线大体上反映了区内气温和降水变化。

从图5-18上粒度的古环境意义上分析,将26 Ma以来的环境变化可划分为四个阶段(周期)。

图5-18 <1mm粒级含量随深度变化图

2粒度对元素分布的影响

研究表明,洞庭湖区是环境变化的敏感区,但由于本湖泊沉积过程的复杂性,利用沉积层进行古环境恢复研究必须进行生态地球化学多指标的综合分析。

将全部钻孔215个沉积物样的岩性按表5-17 赋值y,y代表粗颗粒级含量。其与52 项元素及数十项地球化学指标的相关分析表明,元素及地球化学指标与粒级变量的关系明显,表5-18 仅表示了部分特别显著相关的元素和指标。从表可见,本区沉积物的元素含量及地球化学指标与粒级的关系多符合一般的元素地球化学规律,但其中Ti与粗粒度有非常显著的负相关,说明其主要以细小的钛矿物(可能为钛铁矿、金红石)存在于细、粘粒中。

表5-17 洞庭湖区ZK1粒度分析结果统计表

表5-18 洞庭湖区钻孔沉积物粒度变量(y)与部分地球化学指标的相关系数

图5-19为本区钻孔沉积物的元素含量随粒度变化的关系曲线,它直观反映了两者的关系。

由于沉积物的元素含量与粒度之间存在相互依存关系,所以可以列出粒度随元素含量变化的数学方程。用骤步回归法得出的方程的系数列于表5-19,即粗粒量y的表达式为

y=9817 +093S +07CaO +0621Sc +…-142Cd-112Na2O-0457Al2O3…-000076Ti,R2(adj)=8576 (5-6)

图5-19 洞庭湖区钻孔沉积物部分元素含量随粒度变化的关系曲线图

由方程可知:S、CaO、Sc、C值、Sb、U、SiO2、Zr、P与粗粒正相关,即,它们在砂粒中富集;而Cd、Na2O、Al2O3、TFe、pH、K/Na、Y、Sa值、La、Ca/Sr、Ba、Cl/Br、Ti与细粒正相关,即它们在粘粒中富集。

表5-19 沉积物粗粒度与地球化学指标的回归方程系数

混矿粒度要求

磨矿的主要作用是使欲浮矿物与其他脉石矿物达到单体解离。从而浮选时能够提高精矿的品位,所以说,磨矿粒度过粗,矿物不能达到单体解离,浮选时难以保证精矿品位等等,磨矿粒度过细,使得本来单体解离的矿物被磨损,过细则使得浮选效果差,另外,磨矿粒度过细,也会增加磨机的功耗,且容易产生细泥,影响浮选效果。

MapReduce 知识

混矿粒度的要求会因使用情况和工艺要求而有所不同。一般来说,混矿的粒度应该符合以下要求:
粒度大小应该均匀,尽可能避免出现较大或较小的颗粒。这有助于保持混矿的稳定性和流动性。
粒度范围应该控制在一定的范围内,通常在几毫米到几十毫米之间。这有助于保持混矿在生产过程中的均匀性和稳定性。
粒度分布应该符合工艺要求,例如在某些矿物处理工艺中,要求混矿中某些颗粒的粒度分布必须达到一定的要求,以保证生产工艺的稳定性和效率。
针对不同的生产工艺,可能会有特定的粒度要求,例如在高炉冶炼中,混矿的粒度要求相对较小,以确保炉料在高炉中的均匀性和反应速率。
总之,混矿粒度要求的确定需要根据具体的生产工艺和使用情况而定,以确保混矿在生产过程中的稳定性和效率。

客户端(client)
提交MapReduce作业
JobTracker
1作业调度:将一个作业(Job)分成若干个子任务分发到taskTraker中去执行
2任务监控:TaskTracker发送心跳给JobTracker报告自己的运行状态,以让JobTracker能够监控到他
3资源管理:每个任务向JobTracker申请资源
4监控过程中发现失败或者运行过慢的任务,对他进行重新启动
TaskTracker
主动发送心跳给jobTracker并与JobTracker通信,从而接受到JobTracker发送过来需要执行的任务

资源表示模型
用于描述资源表示形式,Hadoop10使用“槽位(slot)”组织各个节点的资源,为了简化资源的管理,Hadoop将各个节点上资源(CPU、内存、网络IO、磁盘IO等等)等量切分成若干份,每一份用“slot”表示,同时规定一个task可根据实际情况需要占用多个”slot”。
简单的说:hadoop10将多维度的资源进行了抽象,使用“slot”来表示,从而简化对资源的管理。

资源分配模型
而资源分配模型则决定如何将资源分配给各个作业/任务,在Hadoop中,这一部分由一个插拔式的调度器完成。

更进一步说,slot相当于运行的“许可证”,一个任务只有获得“许可证”后,才能够获得运行的机会,这也意味着,每一个节点上的slot的数量决定了当前节点能够并发执行多少个任务。Hadoop10为了区分MapTask跟ReduceTask所使用资源的差异,进一步将slot分为MapSlot跟ReduceSlot,他们分别只能被MapTask跟ReduceTask使用。

Hadoop集群管理员可根据各个节点硬件配置和应用特点为它们分配不同的map slot数(由参数mapredtasktrackermaptasksmaximum指定)和reduce slot数(由参数mapredtasktrackerreducetasksmaximum指定)

静态资源配置 。 采用了静态资源设置策略,即每个节点事先配置好可用的slot总数,这些slot数目一旦启动后无法再动态修改。
资源无法共享 。 Hadoop 10将slot分为Map slot和Reduce slot两种,且不允许共享。对于一个作业,刚开始运行时,Map slot资源紧缺而Reduce slot空闲,当Map Task全部运行完成后,Reduce slot紧缺而Map slot空闲。很明显,这种区分slot类别的资源管理方案在一定程度上降低了slot的利用率。
资源划分粒度过大 。资源划分粒度过大,往往会造成节点资源利用率过高或者过低 ,比如,管理员事先规划好一个slot代表2GB内存和1个CPU,如果一个应用程序的任务只需要1GB内存,则会产生“资源碎片”,从而降低集群资源的利用率,同样,如果一个应用程序的任务需要3GB内存,则会隐式地抢占其他任务的资源,从而产生资源抢占现象,可能导致集群利用率过高。
没引入有效的资源隔离机制 。Hadoop 10仅采用了基于jvm的资源隔离机制,这种方式仍过于粗糙,很多资源,比如CPU,无法进行隔离,这会造成同一个节点上的任务之间干扰严重。

主要是InputFormat。InputFormat类有2个重要的作用:
1)将输入的数据切分为多个逻辑上的InputSplit,其中每一个InputSplit作为一个map的输入。
2)提供一个RecordReader,用于将InputSplit的内容转换为可以作为map输入的k,v键值对。

系统默认的RecordReader是 LineRecordReader ,它是 TextInputFormat (FileInputFormat的子类)对应的RecordReader; Map读入的Key值是偏移量,Value是行内容。

两个Mapper各自输入一块数据,由键值对构成,对它进行加工(加上了个字符n),然后按加工后的数据的键进行分组,相同的键到相同的机器。这样的话,第一台机器分到了键nk1和nk3,第二台机器分到了键nk2。

接下来再在这些Reducers上执行聚合操作(这里执行的是是count),输出就是nk1出现了2次,nk3出现了1次,nk2出现了3次。从全局上来看,MapReduce就是一个分布式的GroupBy的过程。

从上图可以看到,Global Shuffle左边,两台机器执行的是Map。Global Shuffle右边,两台机器执行的是Reduce。

Hadoop会将输入数据划分成等长的数据块,成为数据分片。Hadoop会为每个分片构建一个map任务。并行的处理分片时间肯定会少于处理整个大数据块的时间,但由于各个节点性能及作业运行情况的不同,每个分片的处理时间可能不一样,因此, 把数据分片切分的更细可以得到更好的负载均衡

但另一方面,分片太小的话,管理分片和构建map任务的时间将会增多。因此,需要在hadoop分片大小和处理分片时间之间做一个权衡。对大多数作业来说,一个分片大小为64MB比较合适,其实,Hadoop的默认块大小也是64MB。

我们上面看到了hadoop的数据块大小与最佳分片大小相同,这样的话,数据分片就不容易跨数据块存储,因此,一个map任务的输入分片便可以直接读取本地数据块,这就 避免了再从其它节点读取分片数据 ,从而节省了网络开销。

map的任务输出是 写入到本地磁盘而非HDFS的 。那么为什么呢?因为map任务输出的是中间结果,一旦map任务完成即会被删除,如果把它存入HDFS中并实现备份容错,未免有点大题小做。如果一个map任务失败,hadoop会再另一个节点重启map一个map任务。

而reduce任务并不具备数据本地化优势——单个reduce任务的输入通常来自所有mapper输出。一般排序过的map输出需要通过 网络传输 发送到运行reduce任务的节点,并在reduce端进行合并。reduce的输出通常需要存储到HDFS中以实现可靠存储。每个reduce输出HDFS块第一个复本会存储在本地节点,而其它复本则存储到其它节点,因此reduce输出也需要占用网络带宽。

1调整reduce个数方法(1)
(1)每个Reduce处理的数据量默认是256MB

(2)每个任务最大的reduce数,默认为1009

(3)计算reducer数的公式

2调整reduce个数方法(2)
在hadoop的mapred-defaultxml文件中修改,设置每个job的Reduce个数

3reduce个数并不是越多越好
(1)过多的启动和初始化reduce也会消耗时间和资源;
(2)另外,有多少个reduce,就会有多少个输出文件,如果产生了很多个小文件,那么如果这些小文件作为下一个任务的输入,则也会出现小文件过多的问题;
在设置reduce个数的时候也需要考虑这两个原则:处理大数据利用适合的reduce数;使单个reduce任务处理数据大小要合适;

在进行map计算之前,mapreduce会根据输入文件计算输入分片(input split),每个输入分片(input split)针对一个map任务,输入分片(input split)存储的并非数据本身,而是一个分片长度和一个记录数据的位置的数组,输入分片(input split)往往和hdfs的block(块)关系很密切,我们没有设置分片的范围的时候,分片大小是由block块大小决定的,和它的大小一样。

比如把一个258MB的文件上传到HDFS上,假设block块大小是128MB,那么它就会被分成三个block块,与之对应产生三个split,所以最终会产生三个map task。我又发现了另一个问题,第三个block块里存的文件大小只有2MB,而它的block块大小是128MB,那它实际占用Linux file system的多大空间?答案是实际的文件大小,而非一个块的大小。最后一个问题是: 如果hdfs占用Linux file system的磁盘空间按实际文件大小算,那么这个”块大小“有必要存在吗?其实块大小还是必要的,一个显而易见的作用就是当文件通过append操作不断增长的过程中,可以通过来block size决定何时split文件。

1.每个输入分片会让一个map任务来处理,map输出的结果会暂且放在一个环形内存缓冲区中(该缓冲区的大小默认为100M,由iosortmb属性控制),当该缓冲区快要溢出时(默认为缓冲区大小的80%,由iosortspillpercent属性控制),会在本地文件系统中创建一个溢出文件,将该缓冲区中的数据写入这个文件。

2.在写入磁盘之前,线程首先根据reduce任务的数目将数据划分为相同数目的分区,也就是一个reduce任务对应一个分区的数据。这样做是为了避免有些reduce任务分配到大量数据,而有些reduce任务却分到很少数据,甚至没有分到数据的尴尬局面。其实分区就是对数据进行hash的过程。然后对每个分区中的数据进行 排序 ,如果此时设置了Combiner,将排序后的结果进行Combiner操作,主要是在map计算出中间文件前做一个简单的合并重复key值的操作,这样做的目的是让尽可能少的数据写入到磁盘。

3.当map任务输出最后一个记录时,可能会有很多的溢出文件,这时需要将这些文件合并。合并的过程中会不断地进行排序和Combiner操作,目的有两个:1尽量减少每次写入磁盘的数据量;2尽量减少下一复制阶段网络传输的数据量。最后合并成了一个 已分区且已排序 的文件。为了减少网络传输的数据量,这里可以将数据压缩,只要将mapredcompressmapout设置为true就可以了。

4.将分区中的数据 拷贝 (网络传输)给相对应的reduce任务。有人可能会问:分区中的数据怎么知道它对应的reduce是哪个呢?其实map任务一直和其父TaskTracker保持联系,而TaskTracker又一直和JobTracker保持心跳。所以JobTracker中保存了整个集群中的宏观信息。只要reduce任务向JobTracker获取对应的map输出位置就ok了哦。

Reduce端:
1.Reduce会接收到不同map任务传来的数据,并且每个map传来的数据都是有序的。如果reduce端接受的数据量相当小,则直接存储在内存中(缓冲区大小由mapredjobshuffleinputbufferpercent属性控制,表示用作此用途的堆空间的百分比),如果数据量超过了该缓冲区大小的一定比例(由mapredjobshufflemergepercent决定),则对 数据合并 溢写 到磁盘中。

2.随着溢写文件的增多,后台线程会将它们合并成一个更大的有序的文件,这样做是为了给后面的合并节省时间。其实不管在map端还是reduce端,MapReduce都是反复地执行排序,合并操作,现在终于明白了有些人为什么会说:排序是hadoop的灵魂。

3.合并的过程中会产生许多的中间文件(写入磁盘了),但MapReduce会让写入磁盘的数据尽可能地少,并且 最后一次合并的结果 并没有写入磁盘,而是直接输入到reduce函数。

Read阶段 :MapTask通过用户编写的RecordReader,从输入InputSplit中解析出一个个key/value

Map阶段 :该节点主要是将解析出的key/value交给用户编写map()函数处理,并产生一系列新的key/value。

Collect收集阶段 :在用户编写map()函数中,当数据处理完成后,一般会调用OutputCollectioncollect()输出结果。在该函数内部,它会将生成的 key/value分区 (调用Partitioner),并写入一个环形内存缓冲区中。

Spill阶段 :即“溢写”,当环形缓冲区满后,MapReduce会将数据写入本地磁盘上,生成一个临时文件。需要注意的是,将数据写入本地磁盘之前,先要对数据进行一次本地 排序 ,并在必要时对数据进行 combiner 压缩 等操作。

溢写阶段详情:

合并阶段 :当所有数据处理完成后,MapTask对所有临时文件进行一次合并,以确保最终只会生成一个数据文件。在进行文件合并过程中,MapTask以分区为单位进行合并。对于某个分区,它将采用多轮递归合并的方式。每轮合并iosortfactor(默认100)个文件,并将产生的文件重新加入待合并列表中,对文件排序后,重复以上过程,直到最终得到一个大文件。让一个MapTask最终只生成一个数据文件,可避免同时打开大量文件和同时读取大量小文件产生的随机读取带来的开销。

以上就是关于什么是粒度分析全部的内容,包括:什么是粒度分析、影响球磨机生产效率的因素有哪些、(一)粒级分析等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

 
友情链接
鄂ICP备19019357号-22