`

tachyon与hdfs,以及spark整合

阅读更多

Tachyon 0.7.1伪分布式集群安装与测试: 
http://blog.csdn.net/stark_summer/article/details/48321605 
从官方文档得知,Spark 1.4.x和Tachyon 0.6.4版本兼容,而最新版的Tachyon 0.7.1和Spark 1.5.x兼容,目前所用的Spark为1.4.1,tachyon为 0.7.1

tachyon 与 hdfs整合

修改tachyon-env.sh

export TACHYON_UNDERFS_ADDRESS=hdfs://master:8020Dtachyon.data.folder=$TACHYON_UNDERFS_ADDRESS/tmp/tachyon/data12

上传文件到hdfs

 hadoop fs -put /home/cluster/data/test/bank/ /data/spark/

 hadoop fs -ls /data/spark/bank/Found 3 items-rw-r--r--   3 wangyue supergroup    4610348 2015-09-11 20:02 /data/spark/bank/bank-full.csv-rw-r--r--   3 wangyue supergroup       3864 2015-09-11 20:02 /data/spark/bank/bank-names.txt-rw-r--r--   3 wangyue supergroup     461474 2015-09-11 20:02 /data/spark/bank/bank.csv1234567

通过tachyon 读取/data/spark/bank/bank-full.csv文件

val bankFullFile = sc.textFile("tachyon://master:19998/data/spark/bank/bank-full.csv/bank-full.csv")2015-09-11 20:08:20,136 INFO  [main] storage.MemoryStore (Logging.scala:logInfo(59)) - ensureFreeSpace(177384) called with curMem=630803, maxMem=2579182382015-09-11 20:08:20,137 INFO  [main] storage.MemoryStore (Logging.scala:logInfo(59)) - Block broadcast_3 stored as values in memory (estimated size 173.2 KB, free 245.2 MB)2015-09-11 20:08:20,154 INFO  [main] storage.MemoryStore (Logging.scala:logInfo(59)) - ensureFreeSpace(17665) called with curMem=808187, maxMem=2579182382015-09-11 20:08:20,155 INFO  [main] storage.MemoryStore (Logging.scala:logInfo(59)) - Block broadcast_3_piece0 stored as bytes in memory (estimated size 17.3 KB, free 245.2 MB)2015-09-11 20:08:20,156 INFO  [sparkDriver-akka.actor.default-dispatcher-2] storage.BlockManagerInfo (Logging.scala:logInfo(59)) - Added broadcast_3_piece0 in memory on localhost:41040 (size: 17.3 KB, free: 245.9 MB)2015-09-11 20:08:20,157 INFO  [main] spark.SparkContext (Logging.scala:logInfo(59)) - Created broadcast 3 from textFile at <console>:21bankFullFile: org.apache.spark.rdd.RDD[String] = MapPartitionsRDD[7] at textFile at <console>:21123456789

count

bankFullFile.count()
但是发现报错如下:
2015-09-11 21:34:31,494 WARN  [Executor task launch worker-6]  (RemoteBlockInStream.java:retrieveByteBufferFromRemoteMachine(320)) - Read nothing2015-09-11 21:34:31,495 WARN  [Executor task launch worker-6]  (RemoteBlockInStream.java:retrieveByteBufferFromRemoteMachine(320)) - Read nothing2015-09-11 21:34:31,489 WARN  [Executor task launch worker-7]  (RemoteBlockInStream.java:retrieveByteBufferFromRemoteMachine(320)) - Read nothing2015-09-11 21:34:31,495 WARN  [Executor task launch worker-7]  (RemoteBlockInStream.java:retrieveByteBufferFromRemoteMachine(320)) - Read nothing2015-09-11 21:34:31,495 WARN  [Executor task launch worker-7]  (RemoteBlockInStream.java:retrieveByteBufferFromRemoteMachine(320)) - Read nothing2015-09-11 21:34:31,495 WARN  [Executor task launch worker-7]  (RemoteBlockInStream.java:retrieveByteBufferFromRemoteMachine(320)) - Read nothing2015-09-11 21:34:31,495 WARN  [Executor task launch worker-7]  (RemoteBlockInStream.java:retrieveByteBufferFromRemoteMachine(320)) - Read nothing2015-09-11 21:34:31,495 WARN  [Executor task launch worker-7]  (RemoteBlockInStream.java:retrieveByteBufferFromRemoteMachine(320)) - Read nothing2015-09-11 21:34:31,496 WARN  [Executor task launch worker-7]  (RemoteBlockInStream.java:retrieveByteBufferFromRemoteMachine(320)) - Read nothing2015-09-11 21:34:31,496 WARN  [Executor task launch worker-7]  (RemoteBlockInStream.java:retrieveByteBufferFromRemoteMachine(320)) - Read nothing2015-09-11 21:34:31,496 WARN  [Executor task launch worker-7]  (RemoteBlockInStream.java:retrieveByteBufferFromRemoteMachine(320)) - Read nothing2015-09-11 21:34:31,496 WARN  [Executor task launch worker-7]  (RemoteBlockInStream.java:retrieveByteBufferFromRemoteMachine(320)) - Read nothing2015-09-11 21:34:31,496 WARN  [Executor task launch worker-7]  (RemoteBlockInStream.java:retrieveByteBufferFromRemoteMachine(320)) - Read nothing2015-09-11 21:34:31,496 WARN  [Executor task launch worker-7]  (RemoteBlockInStream.java:retrieveByteBufferFromRemoteMachine(320)) - Read nothing2015-09-11 21:34:31,496 WARN  [Executor task launch worker-7]  (RemoteBlockInStream.java:retrieveByteBufferFromRemoteMachine(320)) - Read nothing123456789101112131415161718

感觉错误很诡异,有人知道这是什么原因?tell me why?

但是 我在tachyon 文件系统中可以看到如下内容:

./bin/tachyon tfs ls /data/spark/bank/bank-full.csv/4502.29 KB09-11-2015 20:09:02:078  Not In Memory  /data/spark/bank/bank-full.csv/bank-full.csv123

而bank-full.csv在hdfs文件是

hadoop fs -ls /data/spark/bank/Found 3 items-rw-r--r--   3 wangyue supergroup    4610348 2015-09-11 20:02 /data/spark/bank/bank-full.csv-rw-r--r--   3 wangyue supergroup       3864 2015-09-11 20:02 /data/spark/bank/bank-names.txt-rw-r--r--   3 wangyue supergroup     461474 2015-09-11 20:02 /data/spark/bank/bank.csv123456

其实Tachyon本身将bank-full.csv文件加载到了内存,并存放到自身的文件系统里面:tachyon://master:19998/data/spark/bank/bank-full.csv/bank-full.csv” 
Tachyon的conf/tachyon-env.sh文件里面配置的,通过export TACHYON_UNDERFS_ADDRESS=hdfs://master:8020配置,这样tachyon://localhost:19998就可以获取hdfs文件指定路径文件

好吧,那我就先通过hdfs方式读取文件然后 保存到tachyon

scala> val bankfullfile =  sc.textFile("/data/spark/bank/bank-full.csv")
scala> bankfullfile.countres0: Long = 45212scala> bankfullfile.saveAsTextFile("tachyon://master:19998/data/spark/bank/newbankfullfile")12345

未完成,待续~

0
2
分享到:
评论
1 楼 haorengoodman 2015-12-17  
Tachyon 能在做数据分类吗?
例如我有一坨hdfs文件,将这些文件加载到Tachyon ,但是之前的文件目录结构不符合现在的要求,需要重新划分文件目录结构,可以做到吗???

相关推荐

    tachyon 介绍

    Tachyon有以下显著特征:它的原生API类似于Java的文件API,它与HDFS接口兼容,因此MapReduce和Spark可以在不做任何修改的情况下运行在Tachyon之上;它还支持插件式的底层文件系统,例如HDFS、Amazon S3、GlusterFS等...

    tachyon-0.4.1.zip

    1. **无缝集成**:Tachyon可以作为Hadoop的内存层,使得Hadoop MapReduce和其他基于Hadoop的框架如Spark、Tez等可以直接读取和写入Tachyon,而无需经过HDFS。 2. **提升性能**:在大数据处理中,Tachyon作为中间缓存...

    顾荣-Tachyon存储系统的基本原理以及与Spark的结合使用

    Tachyon与Spark的结合使用,可以让用户在不同的作业(Job)以及不同的计算框架之间快速共享数据,减少重复计算和提高效率。使用Tachyon可以避免因系统崩溃而导致的数据丢失,并且由于数据不在JVM中,从而减少了Java...

    Spark技术内幕深入解析Spark内核架构设计与实现原理

    6. **Spark存储系统**:Spark支持多种存储级别,如内存、磁盘、以及Tachyon或HDFS等外部存储。通过调整存储级别,可以在速度和持久化之间找到平衡。 7. **Spark SQL与DataFrame/Dataset API**:Spark SQL提供了SQL...

    大数据Spark企业级实战

    《大数据Spark企业级实战》详细解析了企业级Spark开发所需的几乎所有技术内容,涵盖Spark的架构设计、Spark的集群搭建、Spark内核的解析、Spark SQL、MLLib、GraphX、Spark Streaming、Tachyon、SparkR、Spark多语言...

    ApacheSpark设计与实现.pdf+ApacheSpark源码剖析.pdf+Spark原著中文版.pdf

    1. **Spark概述**:Spark的诞生背景,其与Hadoop MapReduce的对比,以及Spark的主要优势。 2. **RDD概念**:RDD的定义,其不可变性和分区特性,以及转换和行动操作的原理。 3. **Spark架构**:Driver、Executor、...

    Spark技术内幕 深入解析Spark内核架构设计与实现原理 ,张安站著 ,P202

    4. **内存管理**:Spark利用内存作为主要的数据存储介质,采用Tachyon或HDFS进行持久化。Spark的内存管理分为两部分:堆内存储(存储RDD和用户对象)和堆外存储(存储 Shuffle数据)。Tungsten项目优化了内存布局,...

    Tachyon_2013-05-09_Spark_Meetup

    Tachyon项目正是为了解决这一问题而设计的,通过使用Tachyon,框架如Spark和Shark可以使用Tachyon作为RDD(弹性分布式数据集)的存储,从而实现内存速度的文件共享和作业间故障隔离。 Tachyon系统架构中的谱系API是...

    大数据Spark源码

    2. 缓存与持久化:Spark支持内存和磁盘的缓存策略,源码展示了如何实现高效的Tachyon和HDFS数据持久化。 五、内存管理 Spark采用了基于堆内和堆外的混合内存管理模式,源码中可以研究如何通过Tungsten项目优化内存...

    Spark大数据处理:技术、应用与性能优化.pdf 高清带目录

    同时,这一章也会讲解Spark的存储系统,包括内存和磁盘的使用,以及Tachyon和HDFS的集成。 本书还涵盖了Spark SQL的使用,如何利用DataFrame和Dataset API进行结构化数据处理,以及Spark Streaming的实时流处理模型...

    Apache-Spark2.20源码中文注释

    Tachyon 和 HDFS 是常见的存储系统,它们与 Spark 集成,提供数据持久化。 4. **Stage 和 Task**:Spark 把 DAG 分解为 Stage,每个 Stage 是一组可以并行执行的任务(Task)。Stage 的划分基于 Shuffle 操作,确保...

    大数据Spark企业级实战版

    《大数据Spark企业级实战》详细解析了企业级Spark开发所需的几乎所有技术内容,涵盖Spark的架构设计、Spark的集群搭建、Spark内核的解析、Spark SQL、MLLib、GraphX、Spark Streaming、Tachyon、SparkR、Spark多语言...

    spark-2.2.1.tar.gz 源码

    内存管理采用Tachyon或HDFS作为持久化存储,容错机制基于检查点和事件日志。 - **Spark SQL**:提供了DataFrame API,它是一种抽象的数据集合,可以视为分布式的行式数据库。DataFrame支持跨语言API,与Hive、...

    10.分布式内存文件系统Tachyon介绍及安装部署.pdf

    2.Spark编译与部署(上)--基础环境搭建.pdf 2.Spark编译与部署(下)--Spark编译安装.pdf 2.Spark编译与部署(中)--Hadoop编译安装.pdf 3.Spark编程模型(上)--概念及SparkShell实战.pdf 3.Spark编程模型(下)--...

    Spark在百度大数据生态上的应用与实践

    2. SparkAndTachyon:展示了如何将Spark与Tachyon结合,后者作为高性能的分布式内存系统,用于数据缓存。 3. SparkSQLAndMllib:在机器学习领域,Spark通过MLlib库提供了一系列的机器学习算法,可以更便捷地在大数据...

    Spark源码分析.pdf

    10. Spark与其他组件的集成:如与Hadoop YARN、Mesos或Kubernetes的资源管理,以及与其他数据源(如Hive、Cassandra等)的交互。 总之,《Spark源码分析》这本书是学习和掌握Spark核心技术和实现细节的重要资源,...

    Spark 入门实战系列

    2.Spark编译与部署(下)--Spark编译安装.pdf 2.Spark编译与部署(中)--Hadoop编译安装.pdf 3.Spark编程模型(上)--概念及SparkShell实战.pdf 3.Spark编程模型(下)--IDEA搭建及实战.pdf 4.Spark运行架构.pdf 5....

    SPARK源代码

    4. **Storage模块**:Spark提供了内存存储和磁盘存储,以及Tachyon和HDFS等外部存储系统的集成。`org.apache.spark.storage`包下包含了BlockManager、MemoryStore和DiskStore等组件,它们负责数据的存储和管理。 5....

Global site tag (gtag.js) - Google Analytics