【发布时间】:2019-09-09 23:42:54
【问题描述】:
我正在使用以下生成orc文件
import org.apache.hadoop.io.Text;
import org.apache.hadoop.hive.ql.io.orc._;
val orcLine:OrcStruct = OrcUtils.createOrcStruct(
typeInfo,
new Text(value1),
new Text(value2),
new Text(value3),
new Text(value4),
new Text(value5));
然而,这里的挑战是有时我可能有 5 个值(value1 ... value5),有时 10 个(value1 ... value10),有时 20 个(value1 ... value20)取决于某些条件。
我怎样才能将这种动态行为带到这里?
如果值是 10 我应该有
val orcLine:OrcStruct = OrcUtils.createOrcStruct(
typeInfo,
new Text(value1),
new Text(value2),
new Text(value3),
new Text(value4),
new Text(value5),
new Text(value6),
new Text(value7),
new Text(value8),
new Text(value9),
new Text(value10));
我有时也会有
val orcLine:OrcStruct = OrcUtils.createOrcStruct(
typeInfo,
new Text(value1),
new ShortWritable(Short.valueOf(value2)),
new LongWritable(Long.valueOf(value3)),
new DoubleWritable(Double.valueOf(value4)),
new FloatWritable(Float.valueOf(value5)));
我目前使用的是 Scala 2.11 版。
非常感谢任何帮助!
【问题讨论】:
-
可变参数?或者一份清单?
-
嗯,我该怎么做,代码?
-
你如何确定你有多少个值?
-
不是 scala 人,谷歌挖了这个:alvinalexander.com/scala/…
-
我有一个预先填充的地图,它会让我知道列名及其各自的值