使用以下命令创建文件夹[LOAN_DATA]
/my_work/hadoop-1.0.3/bin$hadoop fs -mkdir hdfs://masterNode:8020/tmp/hadoop-hadoop/dfs/LOAN_DATA
Run Code Online (Sandbox Code Playgroud)
现在我们打开使用网址时
目录/ tmp/hadoop-hadoop/dfs的内容显示LOAN_DATA
然后我想使用PUT或copyFromLocal将TXT文件中的一些数据存储到LOAN_DATA文件夹中
put:未知命令
/ hadoop fs -put'/home/hadoop/my_work/Acquisition_2012Q1.txt'hdfs:// masterNode:8020/tmp/hadoop-hadoop/dfs/LOAN_DATA
如何解决这个问题?
如果overflowToDisk 启用并Disk path配置,那么如果在内存中找不到数据,它是否应该自动从diskpath?
参考提到的配置
当 overFlowToDisk 在 EHCACHE 中被激活时?
我的情况
1) 在应用程序启动之前从数据库预热缓存
2) 使用加载器实现从 DB 加载数据
3) 最初 DB 有 2000 条数据。所以我们在内存中有 1000 个 (ABC_007),其余 1000 个在磁盘中。
这样对吗?
<cache name="ABC_007"
maxElementsInMemory="1000"
maxElementsOnDisk="10000"
overflowToDisk="true"
timeToIdleSeconds="..."
timeToLiveSeconds="...">
</cache>
Run Code Online (Sandbox Code Playgroud)
如果我搜索不在 中的数据ABC_007,它将从 DISKPATH 中检索。我是对的吗?
现在,如果我实现缓存读取功能,即如果数据在缓存中不可用(包括磁盘路径),我应该在数据库中搜索。
现在我找到了数据。它会重新填充缓存吗?
如果 ABC_007 仍然包含 1000 个元素。它将存储在哪里?ABC_007或磁盘?
请纠正我的理解。
例如参考示例代码
Cache cache = manager.getCache("ABC_007");
Element element = null;
String key = null;
for (int i=0 ; i<2000 ; i++) { …Run Code Online (Sandbox Code Playgroud)