Scala 如何处理具有未知令牌长度的CSV文件
我正在编写一份非常重要的工作,以以下格式转换数据:Scala 如何处理具有未知令牌长度的CSV文件,scala,hadoop,cascading,scalding,Scala,Hadoop,Cascading,Scalding,我正在编写一份非常重要的工作,以以下格式转换数据: Id,Name,Param1,Val1,Param2,Val2....ParamxValx 1,Cat,Hair,White,Eye,Blue... 进入: 我的问题是,我不知道给定行中可能存在多少Param/Val项。但我知道他们是CSV。我如何编写一个烫手的/MR作业来转换我的数据 我所读到的所有内容都建议执行以下操作: Csv(“data.Csv”、“productID”、“price”、“quantity”)。读取 但是在这种情况下,
Id,Name,Param1,Val1,Param2,Val2....ParamxValx
1,Cat,Hair,White,Eye,Blue...
进入:
我的问题是,我不知道给定行中可能存在多少Param/Val项。但我知道他们是CSV。我如何编写一个烫手的/MR作业来转换我的数据
我所读到的所有内容都建议执行以下操作:
Csv(“data.Csv”、“productID”、“price”、“quantity”)。读取
但是在这种情况下,我需要知道我的CSV文件的“模式”,而我不知道,因为每行可能有任意多个Param/Val条目。你想做什么?必须存在某种模式,即使该模式具有不同数量的列。如果您手动读取文件,您是否能够理解它?不要将文件作为CSV读取。将其读取为TSV(基本上是单个字段),并在代码中根据,
对其进行拆分。根据生成的令牌执行其余操作。
Id,Name,Param,Val
1,Cat,Hair,White
1,Cat,Eye,Blue