spark 读取 ftp
class FtpShow(spark: SparkSession, map: Map[String, String]) {
private val path = map(FtpOptions.PATH).stripPrefix("./")
private val username = map(FtpOptions.USERNAME)
private val passwd = map(FtpOptions.PASSWORD)
private val host = map(FtpOptions.HOST)
private val port = map.getOrElse(FtpOptions.PORT, "")
def getSampleData: String = {
val ftpUri = s"ftp://${username}:${passwd}@${host}:${port}/${path}"
spark.sparkContext
.wholeTextFiles(ftpUri)
.flatMap(s => s._2.split("\n"))
.take(DBShow.Num)
.mkString("\n")
}
}
这里读取ftp文件的时候我们采用了sc.wholeTextFiles() 方法,若使用textFile() 方法,则会报错“java.io.IOException: Seek not supported”,ftp 的 InputStream 不支持seek(long:Long) 方法
spark 读取 ftp的更多相关文章
- informatica读取FTP文件
以下为一个完整的informatica读取ftp文件,并导入到系统中. 第一步: 通过shell脚本下载压缩包文件 /server/infa_shared/crm_prod/shell/ftpFrom ...
- 解决Spark读取Hive分区表出现Input path does not exist的问题
假设这里出错的表为test表. 现象 Hive读取正常,不会报错,Spark读取就会出现: org.apache.hadoop.mapred.InvalidInputException: Input ...
- 读取FTP上的某个文本文档内容到本地
/// <summary> /// 读取FTP服务器文本内容 /// </summary> /// <param name="strPath"> ...
- [Spark][Streaming]Spark读取网络输入的例子
Spark读取网络输入的例子: 参考如下的URL进行试验 https://stackoverflow.com/questions/46739081/how-to-get-record-in-strin ...
- [Spark][Hive][Python][SQL]Spark 读取Hive表的小例子
[Spark][Hive][Python][SQL]Spark 读取Hive表的小例子$ cat customers.txt 1 Ali us 2 Bsb ca 3 Carls mx $ hive h ...
- Spark读取配置(转)
转自:https://github.com/keepsimplefocus/spark-sourcecodes-analysis/blob/master/markdowns/Spark%E8%AF%B ...
- spark读取 kafka nginx网站日志消息 并写入HDFS中(转)
原文链接:spark读取 kafka nginx网站日志消息 并写入HDFS中 spark 版本为1.0 kafka 版本为0.8 首先来看看kafka的架构图 详细了解请参考官方 我这边有三台机器用 ...
- spark读取外部配置文件的方法
spark读取外部配置文件的方法 spark-submit --files /tmp/fileName /tmp/test.jar 使用spark提交时使用--files参数,spark会将将本地的 ...
- Spark读取HDFS中的Zip文件
1. 任务背景 近日有个项目任务,要求读取压缩在Zip中的百科HTML文件,经分析发现,提供的Zip文件有如下特点(=>指代对应解决方案): (1) 压缩为分卷文件 => 只需将解压缩在同 ...
随机推荐
- winfrom数据导出
/// <summary> /// 数据导出 /// </summary> /// <param name="dataGridView">< ...
- DP之背包
一.01背包: (以下均可用一维来写 即只能选择一次的物品装在一定容积的背包中.f[i][j]表示前i件物品在容积为j时的最大价值. for(int i = 1; i <= n ; i++){ ...
- Linux操作:使用grep排除搜索的目录
使用grep时,当一个目录下有一个包含很多文件的目录,但也不想搜索它,怎么办? 使用 --exclude-dir 选项. 单个目录示例: grep -rni 'http' --exclude-dir= ...
- Delphi中destroy, free, freeAndNil, release用法和区别
Delphi中destroy, free, freeAndNil, release用法和区别 1)destroy:虚方法 释放内存,在Tobject中声明为virtual,通常是在其子类中overri ...
- nginx rewrite模块
return 从0.8.42版本开始, return 语句可以指定重定向 url (状态码可以为如下几种 301,302,303,307), 也可以为其他状态码指定响应的文本内容,并且重定向的url和 ...
- 使用gacutil把COM组件注册到全局缓存GAC中
我们在编写软件的时候,有时候需要调用COM组件,那就需要注册了,注册有两种,一种是使用regasm 在程序运行的时候注册,参考“pb调用C#编写的DLL类库“,不过受路径的限制.还有一种注册方式,使用 ...
- python-job
- elastic常用工具
elasticsearch 常用工具: elasticsearch-dump :备份 elasticsearch-head :数据展示.操作平台 elasticsearch-head github 地 ...
- 201871010105-曹玉中《面向对象程序设计(Java)》第二周学习总结
201871010105-曹玉中<面向对象程序设计(Java)>第二周学习总结 项目 ...
- mysql5.6采集数据插入出现MySQL server has gone away解决办法
当做网站有一个站要用到WEB网页采集器功能,当一个PHP脚本在请求URL的时候,可能这个被请求的网页非常慢慢,超过了mysql的 wait-timeout时间,然后当网页内容被抓回来后,准备插入到My ...