我想用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/')
谢谢
您应该能够执行以下操作:
with sftp.file(path, mode='rb') as fo:
avro_reader = reader(fo)
for record in avro_reader:
avro_records.append(record)