Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将文件从HDFS附加到javax.mail电子邮件_Java_Scala_Email_Apache Spark_Hdfs - Fatal编程技术网

将文件从HDFS附加到javax.mail电子邮件

将文件从HDFS附加到javax.mail电子邮件,java,scala,email,apache-spark,hdfs,Java,Scala,Email,Apache Spark,Hdfs,找不到将文件从HDFS附加到电子邮件MimeBodyPart的方法。 这是我迄今为止的尝试。我尝试同时使用FileDataSource和URLDataSource,但没有成功 val attachmentPart = new MimeBodyPart() val filePath = "FILE_PATH" val fileName = s"FILE_NAME_${date}.html" val fs = FileSystem.get(sctx.hadoopConfiguration) val

找不到将文件从HDFS附加到电子邮件MimeBodyPart的方法。 这是我迄今为止的尝试。我尝试同时使用FileDataSource和URLDataSource,但没有成功

val attachmentPart = new MimeBodyPart()
val filePath = "FILE_PATH"
val fileName = s"FILE_NAME_${date}.html"

val fs = FileSystem.get(sctx.hadoopConfiguration)
val fullURL = fs.getFileStatus(new Path(filePath+fileName)).getPath.toUri.toURL
//val fullFilePath = fs.getFileStatus(new Path(filePath+fileName)).getPath.toString

val source = new URLDataSource(fullURL)
//val source = new FileDataSource(fullFilePath)
attachmentPart.setDataHandler(new DataHandler(source))
attachmentPart.setFileName("file name")
Exception in thread "main" java.net.MalformedURLException: unknown protocol: hdfs
在URLDataSource的情况下,我得到以下错误:

Exception in thread "main" java.net.MalformedURLException: unknown protocol: hdfs

尝试注册hadoop的FsUrlStreamHandlerFactory以使用模式hdfs处理URL

Exception in thread "main" java.net.MalformedURLException: unknown protocol: hdfs
import org.apache.hadoop.fs.FsUrlStreamHandlerFactory
import java.net.URL
URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory())

尝试注册hadoop FsUrlStreamHandlerFactory处理程序
import org.apache.hadoop.fs.FsUrlStreamHandlerFactory URL.setURLStreamHandlerFactory(新的FsUrlStreamHandlerFactory())