如何用Python读取远程服务器上的AVRO文件

0 投票
1 回答
14 浏览
提问于 2025-04-14 17:37

我想在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)
  

撰写回答