tf 读取 hdfs 上的文件

读取 hdfs 上的文件,需要指定节点名以及配置好环境变量。

比如:

filename_queue = tf.train.string_input_producer([
    "hdfs://namenode:8020/path/to/file1.csv",
    "hdfs://namenode:8020/path/to/file2.csv",
])
或者
filename_queue = tf.data.Dataset.list_files([
    "hdfs://namenode:8020/path/to/file1*csv",
])
dataset = tf.data.TextLineDataset(filename_queue, compression_type = 'compression_type')
或者获取其他的文件方式,获取其他文件格式的 dataset 都可以

这一步是为了指明数据在 hdfs 中的位置,所以一定要知道自己的文件在集群中的什么位置。(文件的路径前缀类似 hdfs://default/

第二步就是指明 tf 运行是需要的环境变量:

JAVA_HOME:这个只要安装了 java,一般环境里都有
HADOOP_HDFS_HOME:使用 which hadoop 看一下 hadoop 的安装路径
LD_LIBRARY_PATH:包括 libjvm.so 和 libhdfs.so(可选)的路径。
	export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${JAVA_HOME}/jre/lib/amd64/server
	如果运行是出现了找不到 libjvm.so 或者 libhdfs.so,我一般会在这里手动添加一下缺失库文件的路径。
CLASSP
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值