dynamo连接mysql的数据_从mysql到DynamoDB的数据传输

我想将数据(21M行)从mysql数据库传输到DynamoDB。我使用boto Python API和django 1.3.1从mysql中导出数据并将其传输到DynamoDB。以下是代码:

conn = boto.connect_dynamodb()

start_date = datetime.date(2012, 3, 1)

end_date = datetime.date(2012, 3, 31)

episode_report = TableName.objects.filter(viewdt__range=(start_date, end_date))

#Paginate 21 million rows in chunks of 1000 each

p = Paginator(episode_report, 1000)

table = conn.get_table('ep_march')

for page in range(1, p.num_pages + 1):

for items in p.page(page).object_list:

item_data = {

'id': int(items.id),

'user_id': format_user(items.user), #Foreign Key to User table

'episode_id': int(items.episode.id), #Foreign Key to Episode table

'series_id': int(items.series.id), #Foreign Key to Series Table

'viewdt': str(items.viewdt),

}

item = table.new_item(

# Our hash key is 'id'

hash_key= int(items.id),

# Our range key is 'viewdt'

range_key= str(items.viewdt),

# This has the

attrs=item_data

)

item.put()问题是这个过程已经运行了12个多小时,并且仍然转移了3M行。任何想法加快这一进程?

我会创建更多的线程并对转移进行分析,看看是否有帮助。

谢谢。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值