小编Tar*_*riq的帖子

有没有办法使用WebHDFS REST API下载HDFS文件?

有没有什么方法可以使用WebHDFS REST API从HDFS下载文件?我最接近的是使用open操作来读取文件并保存内容.

curl -i -L "http://localhost:50075/webhdfs/v1/demofile.txt?op=OPEN" -o ~/demofile.txt
Run Code Online (Sandbox Code Playgroud)

是否有任何API可以让我直接下载文件而无需打开它?我浏览了官方文档并尝试了谷歌,但找不到任何东西.有人能指出我正确的方向还是给我一些指示?

非常感谢你宝贵的时间.

hadoop hdfs webhdfs

12
推荐指数
1
解决办法
9710
查看次数

基于时间的桶记录(kafka-hdfs-connector)

我正在尝试使用 Confluent 平台提供的 kafka-hdfs-connector 将数据从 Kafka 复制到 Hive 表中。虽然我能够成功做到这一点,但我想知道如何根据时间间隔对传入的数据进行存储。例如,我想每 5 分钟创建一个新分区。

我用partition.duration.ms尝试了io.confluent.connect.hdfs.partitioner.TimeBasedPartitioner但我认为我做错了。我在 Hive 表中只看到一个分区,所有数据都进入该特定分区。像这样的事情:

hive> show partitions test;
OK
partition
year=2016/month=03/day=15/hour=19/minute=03
Run Code Online (Sandbox Code Playgroud)

所有 avro 对象都被复制到这个分区中。

相反,我想要这样的东西:

hive> show partitions test;
OK
partition
year=2016/month=03/day=15/hour=19/minute=03
year=2016/month=03/day=15/hour=19/minute=08
year=2016/month=03/day=15/hour=19/minute=13
Run Code Online (Sandbox Code Playgroud)

最初连接器将创建路径year=2016/month=03/day=15/hour=19/minute=03并将在接下来的 5 分钟内继续将所有传入数据复制到此目录中,并在第 6 分钟开始时应该创建一个新路径,即year=2016/month=03/day=15/hour=19/minute=08并将接下来 5 分钟的数据复制到此目录中,依此类推。

这是我的配置文件的样子:

name=hdfs-sink
connector.class=io.confluent.connect.hdfs.HdfsSinkConnector
tasks.max=1
topics=test
hdfs.url=hdfs://localhost:9000
flush.size=3
partitioner.class=io.confluent.connect.hdfs.partitioner.TimeBasedPartitioner
partition.duration.ms=300000
path.format='year'=YYYY/'month'=MM/'day'=dd/'hour'=HH/'minute'=MM/
locale=en
timezone=GMT
logs.dir=/kafka-connect/logs
topics.dir=/kafka-connect/topics
hive.integration=true
hive.metastore.uris=thrift://localhost:9083
schema.compatibility=BACKWARD
Run Code Online (Sandbox Code Playgroud)

如果有人能指出我正确的方向,那将非常有帮助。如果需要,我很乐意分享更多细节。不想让这个问题看起来像一个永无止境的问题。

非常感谢!

hadoop hive apache-kafka kafka-consumer-api kafka-producer-api

3
推荐指数
1
解决办法
1712
查看次数

具有关系数据库的Hadoop

我是Hadoop的新手,并且想知道Hadoop在这种情况下的工作原理。

在创建Dynamic Web项目期间,我曾经通过从Java / C#发送查询来存储和从MySQL数据库获取数据。

我在我的项目中使用Hadoop服务,并且hadoop提供了任何内置数据库系统,我们可以在其中存储数据并在需要时检索数据,而不使用外部数据库。

提前致谢。

mysql hadoop hbase hive

2
推荐指数
1
解决办法
3930
查看次数