如何用Python读取远程服务器上的AVRO文件
我想在Python中读取AVRO文件,当我在本地机器上这样做时,一切运行得很好(使用FastAvro):
with open('/home/user/file.avro', 'rb') as fo:
avro_reader = reader(fo)
for record in avro_reader:
avro_records.append(record)
但我的问题是,当我尝试做同样的事情时,AVRO文件存储在远程服务器上。我不想把文件复制到本地服务器。请问可以直接在远程服务器上读取或打开AVRO文件吗?
我不知道这是不是正确的方向,但我已经通过paramiko连接到了远程服务器,找到了相关的文件,但我不知道如何将读取远程服务器上的文件和读取AVRO文件连接起来。
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect (hostname=myHostname,username=myUsername, password=myPassword)
sftp = ssh.open_sftp()
sftp.listdir('/remotedir/avro/')
谢谢
1 个回答
0
你应该能够做到以下几点:
with sftp.file(path, mode='rb') as fo:
avro_reader = reader(fo)
for record in avro_reader:
avro_records.append(record)