Spark-Avro学习4之使用AvroWritePartitioned存储AVRO文件时进行划分
来源:互联网 发布:java神经网络 编辑:程序博客网 时间:2024/06/06 04:38
更多Spark学习examples代码请见:https://github.com/xubo245/SparkLearning
1.主要是partition存储avro文件
2.代码:
/** * @author xubo * @time 20160502 * ref https://github.com/databricks/spark-avro */package org.apache.spark.avro.learningimport org.apache.spark.sql.SQLContextimport org.apache.spark.SparkConfimport org.apache.spark.SparkContextimport java.text.SimpleDateFormatimport java.util.Dateimport com.databricks.spark.avro._/** * partitioned Avro records */object AvroWritePartitioned { def main(args: Array[String]) { val conf = new SparkConf().setAppName("AvroWritePartitioned").setMaster("local") val sc = new SparkContext(conf) // import needed for the .avro method to be added val sqlContext = new SQLContext(sc) import sqlContext.implicits._ val df = Seq((2012, 8, "Batman", 9.8), (2012, 8, "Hero", 8.7), (2012, 7, "Robot", 5.5), (2011, 7, "Git", 2.0)) .toDF("year", "month", "title", "rating") df.show val iString = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date()) df.write.partitionBy("year", "month").avro("file/data/avro/output/episodes/WriteAvro" + iString) val dfread = sqlContext.read .format("com.databricks.spark.avro") .load("file/data/avro/output/episodes/WriteAvro" + iString) dfread.show val dfread2 = sqlContext.read.avro("file/data/avro/output/episodes/WriteAvro" + iString) dfread2.show }}
3,结果:
+----+-----+------+------+|year|month| title|rating|+----+-----+------+------+|2012| 8|Batman| 9.8||2012| 8| Hero| 8.7||2012| 7| Robot| 5.5||2011| 7| Git| 2.0|+----+-----+------+------+2016-05-02 11:25:15 WARN :139 - Your hostname, xubo-PC resolves to a loopback/non-reachable address: fe80:0:0:0:200:5efe:ca26:54d2%20, but we couldn't find any external IP address!+------+------+----+-----+| title|rating|year|month|+------+------+----+-----+| Robot| 5.5|2012| 7|| Git| 2.0|2011| 7||Batman| 9.8|2012| 8|| Hero| 8.7|2012| 8|+------+------+----+-----++------+------+----+-----+| title|rating|year|month|+------+------+----+-----+| Robot| 5.5|2012| 7|| Git| 2.0|2011| 7||Batman| 9.8|2012| 8|| Hero| 8.7|2012| 8|+------+------+----+-----+
0 0
- Spark-Avro学习4之使用AvroWritePartitioned存储AVRO文件时进行划分
- Spark-Avro学习3之使用AvroCompression存储AVRO文件
- Spark-Avro学习5之使用AvroReadSpecifyName存储AVRO文件时指定name和namespace
- Spark-Avro学习1之使用SparkSQL读取AVRO文件
- Spark-Avro学习2之使用byDatabricksSparkAvroL读取AVRO文件
- Spark-Avro学习7之Java Avro使用(生成code方式)
- Spark-Avro学习8之Java Avro使用(不生成code方式)
- Spark-Avro学习9之SCALA环境下Avro使用(不生成code方式)
- spark 读取avro文件
- Avro:使用Avro MapReduce进行排序
- avro 文件的使用
- Spark-Avro学习6之Ubuntu下安装
- avro
- avro
- AVRO
- Avro
- avro
- 使用Avro
- Q&A: 你能不能迅速说出以下短语的英语?
- HDU-ACM2048
- 测试验证replicate-ignore-table参数作用
- ios开发学习笔记--数据持久化之偏好设置(NSUserDefault)
- poj2135 最小费用最大流模板
- Spark-Avro学习4之使用AvroWritePartitioned存储AVRO文件时进行划分
- 文章标题
- HDU-ACM2049--错排问题的应用
- Oracle 11g R2 RAC高可用性连接
- 网络仿真工具TOTEM之——环境配置
- 第一周编程题-逆序的三位数
- js的clearInterval()
- Spark RDD API详解Map和Reduce
- 重装Ubuntu配置编程环境LAMP,J2EE从0开始