楼主: lucosax
3896 0

spark on Tachyon [推广有奖]

  • 0关注
  • 0粉丝

初中生

57%

还不是VIP/贵宾

-

威望
0
论坛币
257 个
通用积分
0
学术水平
7 点
热心指数
22 点
信用等级
7 点
经验
582 点
帖子
10
精华
0
在线时间
8 小时
注册时间
2014-12-13
最后登录
2015-1-17

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

兼容性


默认的,Spark 1.0.x版本绑定的是Tachyon 0.4.1版本.如果你的Tachyon版本不同,那需要在这个文件:

spark/core/pom.xml

中指定Tachyon的版本,然后重新编译正确的版本的Spark.



与Tachyon进行数据IO


这一部分的额外前提是Spark(0.6 或者后续版本).另外,假设你在运行Tachyon{{site.TACHYON_RELEASED_VERSION}} 或后续版本的时候通过查阅资料已经搭建好Tachyon和Hadoop 的本地模式或者集群模式.

如果运行的Spark版本低于1.0.0,那麻烦你把如下内容添加到这个文件:

spark/conf/spark-env.sh

中:


export SPARK_CLASSPATH=/pathToTachyon/client/target/tachyon-client-{{site.TACHYON_RELEASED_VERSION}}-jar-with-dependencies.jar:$SPARK_CLASSPATH


如果是跑在 hadoop 1.x 版本的集群上,那么需要创建一个新的文件:

spark/conf/core-site.xml  

并把如下内容添加进去:


<configuration>

  <property>

    <name>fs.tachyon.impl</name>

    <value>tachyon.hadoop.TFS</value>

  </property>

</configuration>


将文件X写入HDFS,然后执行如下Spark Shell:


$ ./spark-shell

$ val s = sc.textFile("tachyon://localhost:19998/X")

$ s.count()

$ s.saveAsTextFile("tachyon://localhost:19998/Y")


查看 http://localhost:19999 的话会发现会有个输出文件 Y 包含有 输入文件 X 内单词的数量(一个单词一行?).

将文件X写入HDFS,然后执行如下Spark Shell:

如果你通过sbt 或者 其他利用sbt的框架调用 Spark 的job:


val conf = new SparkConf()

val sc = new SparkContext(conf)

sc.hadoopConfiguration.set("fs.tachyon.impl", "tachyon.hadoop.TFS")


如果你的hadoop 集群版本为1.x 并且 以Zookeeper的容错模式 运行Tachyon,需要在之前创建的xml文件: spark/conf/core-site.xml 中添加如下实体(属性):


<property>

    <name>fs.tachyon-ft.impl</name>

    <value>tachyon.hadoop.TFS</value>

</property>


在这个文件 spark/conf/spark-env.sh 中添加如下内容:

export SPARK_JAVA_OPTS="

  -Dtachyon.zookeeper.address=zookeeperHost1:2181,zookeeperHost2:2181

  -Dtachyon.usezookeeper=true

  $SPARK_JAVA_OPTS

"

将文件 X 写入HDFS. 当运行Spark Shell的时候你可以指定任何的Tachyon Master:


$ ./spark-shell

$ val s = sc.textFile("tachyon-ft://stanbyHost:19998/X")

$ s.count()

$ s.saveAsTextFile("tachyon-ft://activeHost:19998/Y")


将 Spark RDDs 在 Tachyon中持久化


为满足这个特点,你需要运行 http://localhost:19999)查看 spark.tachyonStore.baseDir . 你会发现有很多文件在那,他们是RDD块.通常来讲,当Spark 应用程序 运行结束的时候这些文件会被清理干净.你也可在Spark 应用中,将Tachyon 作为输入输出源来使用


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Spark Park SPAR SPA ZooKeeper export target 兼容性 资料

已有 1 人评分经验 热心指数 收起 理由
aongao + 60 + 3 鼓励积极发帖讨论

总评分: 经验 + 60  热心指数 + 3   查看全部评分

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-28 13:09