Python写入avro;从数据库读取

时间:2019-08-26 06:08:31

标签: python google-cloud-platform avro

我是Python新手。这是我想要做的:

  1. 从Oracle DB读取(我可以使用cx_Oracle做到这一点)
  2. 写入Google Cloud存储上的CSV文件。
  3. 但是我希望能够以Avro格式写入GCS。

我目前正在使用Pandas从Oracle DB中读取记录,并且我的数据库字段如下所示:

{'BATCH_ID': Int64Dtype(), 'NO1': dtype('O'), 'NO2': dtype('O'), 'QUANTITY': Int64Dtype(), 'TIME': dtype('O'), 'DEVNO': Int64Dtype(), 'DEVID': dtype('O'), 'DEVABR': dtype('O'), 'DEVTYPE': Int64Dtype(), 'ParNO': Int64Dtype(), 'PARKDESIG': dtype('O'), 'PARKABBR': dtype('O'), 'SYSEVENTNO': Int64Dtype(), 'SYSTEMEVENTREGNO': Int64Dtype(), 'STAFFCODE': Int64Dtype(), 'OPERATORSURNAME': dtype('O'), 'OPERATORFIRSTNAME': dtype('O'), 'SYSEVENTDESIG': dtype('O'), 'REMARKS': dtype('O'), 'COMPONENT': dtype('O'), 'OCCURRED': Int64Dtype(), 'TIMEPROCESSING': dtype('O'), 'TIMEDELETION': dtype('O'), 'OPERATORNOPROCESSING': Int64Dtype(), 'DEVICENOPROCESSING': Int64Dtype(), 'DELETED_YN': dtype('O'), 'LOADED_NEW_YN': dtype('O'), 'WEEK_ID': Int64Dtype(), 'DSS_UPDATE_TIME': dtype('<M8[ns]')}

是否有一种方法可以从数据库读取并写入Avro,而不必存储为CSV等其他临时格式? 也许您能指出一个小例子,例如写给Avro的SQL员工表。

我打算最终将此avro文件存储在Google云端的GCS中。

谢谢

0 个答案:

没有答案