dataSet之connector
文件系统connector
- fink内置支持从如下文件系统读取数据
文件系统 | Schema | 备注 |
---|---|---|
HDFS | hdfs:// | Hdfs文件系统 |
S3 | s3:// | 通过hadoop文件系统实现支持 |
MapR | maprfs:// | 需要用户添加jar |
Alluxio | alluxio:// | 通过hadoop文件系统实现 |
注意
Flink允许用户使用实现org.apache.hadoop.fs.FileSystem接口的任何文件系统。例如S3、 Google Cloud Storage Connector for Hadoop、 Alluxio、 XtreemFS、 FTP等各种文件系统
Flink与Apache Hadoop MapReduce接口兼容,因此允许重用Hadoop MapReduce实现的代码:
使用Hadoop Writable data type
使用任何Hadoop InputFormat作为DataSource(flink内置HadoopInputFormat)
使用任何Hadoop OutputFormat作为DataSink(flink内置HadoopOutputFormat)
使用Hadoop Mapper作为FlatMapFunction
使用Hadoop Reducer作为GroupReduceFunction
flink集成Hbase数据读取
import org.apache.flink.addons.hbase.TableInputFormat
import org.apache.flink.api.scala.ExecutionEnvironment
import org.apache.flink.api.java.tuple
import org.apache.flink.configuration.Configuration
import org.apache.hadoop.hbase.{
Cell, HBaseConfiguration, HConstants, TableName}
import org.apache.hadoop.hbase.client._
import org.apache.hadoop.hbase.util.Bytes
object fromehbase {
def main(args: Array[String]): Unit = {
val env: ExecutionEnvironment = ExecutionEnvironment.getExecutionEnvironment
import org.apache.flink.api.scala._
//通过inputformat添加数据
val hbaseDataSet = env.createInput(new TableInputFormat[tuple.Tuple2[String,String]] {
override def configure(parameters: Configuration): Unit = {
val conf = HBaseConfiguration.create()
conf.set(HConstants