在线QQ客服:1922638
专业的SQL Server、MySQL数据库同步软件
sc.textFile(” https://blog.csdn.net/weixin_44036154/article/details/dir/*.txt”)
如果传递了目录,则该目录中的所有文件都将读取为RDD。文件路径支持通配符。
但这对于读取大量小文件不是很有效,您应该使用WholeTextFiles
def WholeTextFiles(路径:String,minPartitions:Int = defaultMinPartitions):RDD [(String,String) ])
返回值RDD [(String,String)],其中键是文件名,值是文件的内容。
??
Spark支持通过Java JDBC访问关系数据库。需要使用JdbcRDD
数据输入到MySQL表代码演示
演示在MySQL数据库中读取表数据
Spark的整个生态系统与Hadoop完全兼容,因此Spark还支持Hadoop支持的文件类型或数据库类型。
HadoopRDD,newAPIHadoopRDD,saveAsHadoopFile,saveAsNewAPIHadoopFile是基础API
其他API接口都是为了最终Spark程序开发人员的方便而设置的,并且是这两个接口的有效实现版本。
代码演示:
?
SequenceFile是Hadoop设计的平面文件,用于以二进制形式存储键值对。
读取sc.sequenceFile [keyClass,valueClass](路径)
写入RDD.saveAsSequenceFile(路径)
要求将键和值自动转换为可写类型。
对象文件是序列化对象后保存的文件
读取sc.objectFile [k,v](路径)//由于已序列化,因此必须指定类型
写入RDD.saveAsObjectFile()
??
由于执行了? org.apache.hadoop.hbase.mapreduce.TableInputFormat类,Spark可以通过Hadoop输入格式访问HBase。
此输入格式将返回键值数据,
密钥类型是org。 apache.hadoop.hbase.io.ImmutableBytesWritable,
值类型为org.apache.hadoop.hbase.client.Result。
上面的代码:(创建hbase表,添加数据)
(读取hbase表数据)
?