我想知道从Spark中读取/写入dynamodb的最佳方法。
我尝试过使用dynamodb的官方API,还有emr连接器(hadoop和hive)以及其他API。
但是我发现(在其他问题中)要执行查询需要进行全面扫描,而这对于大表来说并不合适。
有什么建议吗?
答案 0 :(得分:0)
您尝试使用emr-dynamodb-connector
的过程通常是大多数人使用它的方式。
但是,您可以使用library连接到DynamoDb。
一般来说,从火花上访问DynamoDb很困难,因为现在你已经将火花执行器与DynamoDb油门联系起来了。您可以尝试的另一种方法是使用Hbase
或cassandra
,我发现更好地支持使用spark,提供谓词下推等。
通常我在带有spark的群集上使用DynamoDB数据的方式是使用DynamoDb流。在S3中收集流数据并对该数据应用批处理。