我如何使用Python远程读取AVRO服务器

问题描述 投票:0回答:1

我想用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/')

谢谢

python ssh avro
1个回答
0
投票

您应该能够执行以下操作:

with sftp.file(path, mode='rb') as fo:
    avro_reader = reader(fo)
    for record in avro_reader:
        avro_records.append(record)
  
© www.soinside.com 2019 - 2024. All rights reserved.