Spark的substr函数可以处理固定宽度的列,例如:
df = spark.read.text("/tmp/sample.txt")df.select( df.value.substr(1,3).alias('id'), df.value.substr(4,8).alias('date'), df.value.substr(12,3).alias('string'), df.value.substr(15,4).cast('integer').alias('integer')).show()将导致:
+---+--------+------+-------+| id| date|string|integer|+---+--------+------+-------+|001|01292017| you| 1234||002|01302017| me| 5678|+---+--------+------+-------+
拆分列后,您可以按照常规spark数据框的格式重新格式化并使用它们。



