如何在scala中为类创建别名

时间:2017-06-27 16:12:50

标签: scala hadoop

我使用以下代码:

val fs = FileSystem.get(new Configuration())
val status = fs.listStatus(new Path("wasb:///example/"))
status.foreach(x=> println(x.getPath)

来自这个问题:How to enumerate files in HDFS directory

我的问题是我不明白如何为类创建别名,如果没有它,代码就会失败。我发现代码中提到的所有类和以下代码都有效:

val fs = org.apache.hadoop.fs.FileSystem.get(new org.apache.hadoop.conf.Configuration())
val status = fs.listStatus(new org.apache.hadoop.fs.Path("wasb:///example/"))
status

所以问题是:如何在scala中为类创建别名?如何将Path()指向org.apache.hadoop.fs.Path()?

我在Stackoverflow上尝试了这个问题:Class alias in scala,但没有找到与我案例的联系。

1 个答案:

答案 0 :(得分:4)

不确定您的术语别名。我想你想import。 e.g。

import org.apache.hadoop.fs.Path

或更一般地

import org.apache.hadoop.fs._

请注意,可以通过导入别名,因此:

import org.apache.hadoop.fs.{Path => MyPath}

然后将Path称为MyPath。这在编写导入2个相同名称但不同包的类的代码时特别有用。 java.util.Datejava.sql.Date。使用别名可以解决这种混乱。