欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 美景 > flink学习(5)——预定义source

flink学习(5)——预定义source

2024/11/29 18:36:56 来源:https://blog.csdn.net/weixin_52642840/article/details/144011522  浏览:    关键词:flink学习(5)——预定义source

Collection [测试]--本地集合Source

fromElements

// env.fromElements// 使用这种方式的时候 后面的数据类型需要一致 
// 1、  
/*
* 1、String 可以 2、Object 不行(String,Float,Long不能同时传入)
* 3、数组可以  4、集合可以
*/
//第一种
DataStreamSource<String> elementsStreamSource = env.fromElements("hello word", "hello nihao", "hello hi");// 第二种 会报错
// DataStreamSource<Object> source1 = env.fromElements("hello word",2);// 第三种 使用数组格式 
String[] strings = {"1","2","3"};
/* 结果是地址 若使用Array 转为字符串 那就是第一种了
* [I@5b5eabd3
* [I@646e68e6
* [I@c7511aa
*/
DataStreamSource<String[]> dataStreamSource = env.fromElements(strings, strings, strings);// 第四种 使用集合格式String[] strings = {1,2,3};
List<String> list = Arrays.asList(strings);
DataStreamSource<List<String>> listDataStreamSource = env.fromElements(list, list, list);// 结果就没什么问题了

fromCollection

//env.fromColletion  只能转换单个集合
String[] strings = {"1","2","3"};
List<String> list = Arrays.asList(strings);
DataStreamSource<String> dataStreamSource = env.fromCollection(list);

fromSequence

// env.fromSequence(开始,结束); ——快速创建一个dataStreamDataStreamSource<Long> longDataStreamSource = env.fromSequence(1, 100);

Socket [测试]

DataStreamSource<String> dataStreamSource = env.socketTextStream("bigdata02", 9000);int parallelism = env.getParallelism();yum install -y nc 
nc -lk 8888
windows平台:nc -lp 8888这种情况下,不论你的电脑有多少核,并行度均为1 

File

// readTextFile
// 假如你有一个相对路径 怎么变成绝对路径 使用File 进行转换即可
DataStreamSource<String> dataStreamSource = env.readTextFile("datas/wc.txt");
DataStreamSource<String> dataStreamSource1 = env.readTextFile("hdfs://bigdata01:9820/home/homedata/data.txt");

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com