小编Adr*_*ett的帖子

在Spark中按时间戳对Parquet文件进行分区的最佳实践是什么?

我对Spark非常陌生(2天),并且正在考虑对镶木地板文件进行分区的最佳方法。

我的粗略计划ATM是:

  • 使用com.databricks.spark.csv读取源TSV文件(这些文件具有TimeStampType列)
  • 写出实木复合地板文件,按年/月/日/小时划分
  • 将这些实木复合地板文件用于以后将要发生的所有查询

获得一个简单的版本一直很容易(对Spark开发人员来说是个荣誉)-除了按照我想要的方式进行分区之外。这是在python BTW中:

input = sqlContext.read.format('com.databricks.spark.csv').load(source, schema=myschema)
input.write.partitionBy('type').format("parquet").save(dest, mode="append")
Run Code Online (Sandbox Code Playgroud)

映射RDD的最佳方法是添加年,月,日,小时的新列,然后使用PartitionBy吗?那么对于任何查询,我们必须手动添加年/月等?考虑到到目前为止我已经发现火花如此优雅,这似乎有点奇怪。

谢谢

apache-spark pyspark

5
推荐指数
1
解决办法
7673
查看次数

标签 统计

apache-spark ×1

pyspark ×1