我知道HDFS是一次写入并多次读取.
假设我想在HDFS中更新文件有没有办法做到这一点?
先感谢您 !
根据我的理解,sqoop用于将表/数据从数据库导入或导出到HDFS或Hive或HBASE。
而且我们可以直接导入单个表或表列表。内部mapreduce程序(我认为只有map任务)将运行。
我的疑问是什么是直接使用sqoop,什么时候使用直接选择sqoop?
我在HDFS中有一个目录(Final Dir),其中一些文件(例如:10 mb)每分钟加载一次.一段时间后,我想将所有小文件组合成一个大文件(例如:100 mb).但是用户不断将文件推送到Final Dir.这是一个持续的过程.
所以我第一次需要将前10个文件组合成一个大文件(例如:large.txt)并将文件保存到Finaldir.
现在我的问题是我将如何获得除前10个文件之外的下10个文件?
可以请一些帮助我
请不要介意它是否是一个非常基本的:
1 ravi 100 hyd
2 krishna 200 hyd
3 fff 300秒
我在hive中创建了一个带有城市分区的表,并加载了如下数据:
create external table temp(id int, name string, sal int)
partitioned by(city string)
location '/testing';
Run Code Online (Sandbox Code Playgroud)
load data inpath '/test.txt' into table temp partition(city='hyd');
在HDFS中,结构是/testing/temp/city=hyd/test.txt
当我查询表为"select*from temp"时;
temp.id temp.name temp.sal temp.city
1 ravi 100 hyd
2 krishna 200 hyd
3 fff 300 hyd
Run Code Online (Sandbox Code Playgroud)
这里我的问题是为什么第三行中"sec"的城市名称在输出中变为"hyd"?
我这边有什么不对吗?
提前致谢 !!!