我希望能够在以后的任何时候打开一个(非常大的)文件并从任意点读取数据,而不需要将整个数据保存在内存中。
这个是可能的吗?
我想打开一个文件的句柄,其他任何东西都不会对这个文件进行读写,并且能够在以后的某个时间点从任何给定的偏移量和长度中获取数据,而无需再次在磁盘上搜索该文件。
我以为会有某种
1, open handle to file
2, create reader
3, skip reader to X
4, read for Y
5, reset reader to 0
6, return to step 3
起初,BufferedReader.mark似乎是我想要的东西,但文档表明,
如果只有一个词代表一个非常大的数据,我如何能够有效地过滤数据?
数据
col1
this is summer
hello
car
no one
输出
col1
hello
car
我只是想知道是否有更好的解决方案:
data.withColumn('one_token',F.size(F.split(F.col('col1'), ' ')==1)
我在impala中有一个关于数据局部性的问题,假设我有10个数据节点的集群(在每个数据节点上有impalad),如果我在impala SELECT * FROM big_table where dt='2017' where blabla orderby blabla group by blabla中执行查询(假设这是一个大查询)。
假设分区(dt=2017')下的文件在dn 1,3,5中,那么如果我要执行查询,协调器是只使用守护进程1,3,5进行数据定位,还是使用所有的守护进程,而其他守护进程将远程读取此数据?
我有一个wicket应用程序,可以处理一些数据。如果数据很小,则一切正常,如果数据大小更改为非常大,则会崩溃,并显示以下错误:
Error IllegalStateException Cannot create a session after the response has been committed for large data set
我知道有一些缓冲区大小会触发自动提交。
我使用的是Tomcat,我该在哪里更改这个默认大小。