小编Ali*_*iza的帖子

dynamodb:如何归档所有没有特定属性的项目?

我有一个用户表,主用哈希键为userId.每个用户可能/可能没有称为"环境"的字符串属性.我想让所有拥有"environment"="xyz"或没有"environment"属性的用户.

以下代码将使用environment = xyz过滤这些用户,但如何过滤那些没有环境的项目?Dynamo API不允许过滤空字符串.

    AmazonDynamoDBClient client = DbClientManager.getDynamoDbClient();

    ArrayList<AttributeValue> avList = new ArrayList<AttributeValue>();
    avList.add(new AttributeValue().withS("xyz"));

    Condition scanFilterCondition = new Condition()
            .withComparisonOperator(ComparisonOperator.EQ.toString())
            .withAttributeValueList(avList);
    Map<String, Condition> conditions = new HashMap<>();
    conditions.put("environment", scanFilterCondition);

    ScanRequest scanRequest = new ScanRequest()
            .withTableName("users")
            .withAttributesToGet(
                    "userId", 
                    "environment");
            .withScanFilter(conditions);

    ScanResult result = client.scan(scanRequest);
Run Code Online (Sandbox Code Playgroud)

现在我刚刚删除了扫描过滤器,我在客户端进行过滤.有没有办法在服务器方面做到这一点?

谢谢,Aliza

java amazon-dynamodb

5
推荐指数
2
解决办法
1万
查看次数

Spark:广播杰克逊ObjectMapper

我有一个spark应用程序,它从文件中读取行并尝试使用jackson对它们进行反序列化.为了使这段代码能够工作,我需要在Map操作中定义ObjectMapper(否则我得到一个NullPointerException).

我有以下代码正在工作:

val alertsData = sc.textFile(rawlines).map(alertStr => {
      val mapper = new ObjectMapper()
      mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)
      mapper.registerModule(DefaultScalaModule)
      broadcastVar.value.readValue(alertStr, classOf[Alert])
    })
Run Code Online (Sandbox Code Playgroud)

但是,如果我在地图外部定义映射器并对其进行广播,则会因NullPointerException而失败.

此代码失败:

val mapper = new ObjectMapper()
    mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)
    mapper.registerModule(DefaultScalaModule)
    val broadcastVar = sc.broadcast(mapper)

    val alertsData = sc.textFile(rawlines).map(alertStr => {
      broadcastVar.value.readValue(alertStr, classOf[Alert])
    })
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么?

谢谢,Aliza

scala jackson apache-spark

2
推荐指数
1
解决办法
1871
查看次数

标签 统计

amazon-dynamodb ×1

apache-spark ×1

jackson ×1

java ×1

scala ×1