org.apache.avro.LogicalTypes.decimal()方法的使用及代码示例

x33g5p2x  于2022-01-24 转载在 其他  
字(7.6k)|赞(0)|评价(0)|浏览(302)

本文整理了Java中org.apache.avro.LogicalTypes.decimal()方法的一些代码示例,展示了LogicalTypes.decimal()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。LogicalTypes.decimal()方法的具体详情如下:
包路径:org.apache.avro.LogicalTypes
类名称:LogicalTypes
方法名:decimal

LogicalTypes.decimal介绍

[英]Create a Decimal LogicalType with the given precision and scale 0
[中]

代码示例

代码示例来源:origin: apache/avro

/** Create a Decimal LogicalType with the given precision and scale 0 */
public static Decimal decimal(int precision) {
 return decimal(precision, 0);
}

代码示例来源:origin: org.apache.avro/avro

/** Create a Decimal LogicalType with the given precision and scale 0 */
public static Decimal decimal(int precision) {
 return decimal(precision, 0);
}

代码示例来源:origin: apache/avro

@Override
 public Object call() throws Exception {
  LogicalTypes.decimal(10).addToSchema(schema);
  return null;
 }
}

代码示例来源:origin: apache/avro

@Override
 public Object call() throws Exception {
  LogicalTypes.decimal(0).addToSchema(schema);
  return null;
 }
});

代码示例来源:origin: apache/avro

@Override
 public Object call() throws Exception {
  LogicalTypes.decimal(-9).addToSchema(schema);
  return null;
 }
});

代码示例来源:origin: apache/avro

@Override
 public Object call() throws Exception {
  LogicalTypes.decimal(9, -2).addToSchema(schema);
  return null;
 }
});

代码示例来源:origin: apache/avro

@Override
 public Object call() throws Exception {
  LogicalTypes.decimal(9, 2).addToSchema(schema);
  return null;
 }
}

代码示例来源:origin: apache/avro

@Override
 public Object call() throws Exception {
  LogicalTypes.decimal(9, 10).addToSchema(schema);
  return null;
 }
});

代码示例来源:origin: apache/avro

@Test
public void testLogicalTypeEquals() {
 LogicalTypes.Decimal decimal90 = LogicalTypes.decimal(9);
 LogicalTypes.Decimal decimal80 = LogicalTypes.decimal(8);
 LogicalTypes.Decimal decimal92 = LogicalTypes.decimal(9, 2);
 assertEqualsTrue("Same decimal", LogicalTypes.decimal(9, 0), decimal90);
 assertEqualsTrue("Same decimal", LogicalTypes.decimal(8, 0), decimal80);
 assertEqualsTrue("Same decimal", LogicalTypes.decimal(9, 2), decimal92);
 assertEqualsFalse("Different logical type", LogicalTypes.uuid(), decimal90);
 assertEqualsFalse("Different precision", decimal90, decimal80);
 assertEqualsFalse("Different scale", decimal90, decimal92);
}

代码示例来源:origin: apache/avro

final public Schema DecimalTypeProperties() throws ParseException {
int precision;
int scale;
 jj_consume_token(LPAREN);
   precision = Json().asInt();
 jj_consume_token(COMMA);
                    scale = Json().asInt();
 jj_consume_token(RPAREN);
 {if (true) return LogicalTypes.decimal(precision, scale).addToSchema(Schema.create(Type.BYTES));}
 throw new Error("Missing return statement in function");
}

代码示例来源:origin: apache/avro

@Test
public void testFixedDecimalToFromJson() {
 Schema schema = Schema.createFixed("aDecimal", null, null, 4);
 LogicalTypes.decimal(9, 2).addToSchema(schema);
 Schema parsed = new Schema.Parser().parse(schema.toString(true));
 Assert.assertEquals("Constructed and parsed schemas should match",
   schema, parsed);
}

代码示例来源:origin: apache/avro

@Test
public void testBytesDecimalToFromJson() {
 Schema schema = Schema.create(Schema.Type.BYTES);
 LogicalTypes.decimal(9, 2).addToSchema(schema);
 Schema parsed = new Schema.Parser().parse(schema.toString(true));
 Assert.assertEquals("Constructed and parsed schemas should match",
   schema, parsed);
}

代码示例来源:origin: apache/avro

@Test
public void testCopyDecimalRaw() {
 testCopy(LogicalTypes.decimal(9, 2).addToSchema(Schema.create(Schema.Type.BYTES)),
      ByteBuffer.wrap(new BigDecimal("-34.34").unscaledValue().toByteArray()),
      GenericData.get());                  // no conversions
}

代码示例来源:origin: apache/avro

@Test
public void testCopyDecimal() {
 testCopy(LogicalTypes.decimal(9, 2).addToSchema(Schema.create(Schema.Type.BYTES)),
      new BigDecimal("-34.34"),
      GENERIC);
}

代码示例来源:origin: apache/avro

@Test
public void testLogicalTypeInSchemaEquals() {
 Schema schema1 = Schema.createFixed("aDecimal", null, null, 4);
 Schema schema2 = Schema.createFixed("aDecimal", null, null, 4);
 Schema schema3 = Schema.createFixed("aDecimal", null, null, 4);
 Assert.assertNotSame(schema1, schema2);
 Assert.assertNotSame(schema1, schema3);
 assertEqualsTrue("No logical types", schema1, schema2);
 assertEqualsTrue("No logical types", schema1, schema3);
 LogicalTypes.decimal(9).addToSchema(schema1);
 assertEqualsFalse("Two has no logical type", schema1, schema2);
 LogicalTypes.decimal(9).addToSchema(schema2);
 assertEqualsTrue("Same logical types", schema1, schema2);
 LogicalTypes.decimal(9, 2).addToSchema(schema3);
 assertEqualsFalse("Different logical type", schema1, schema3);
}

代码示例来源:origin: apache/avro

@Test
public void testReadDecimalBytes() throws IOException {
 LogicalType decimal = LogicalTypes.decimal(9, 2);
 Schema bytesSchema = Schema.create(Schema.Type.BYTES);
 Schema decimalSchema = decimal.addToSchema(Schema.create(Schema.Type.BYTES));
 BigDecimal d1 = new BigDecimal("-34.34");
 BigDecimal d2 = new BigDecimal("117230.00");
 List<BigDecimal> expected = Arrays.asList(d1, d2);
 Conversion<BigDecimal> conversion = new Conversions.DecimalConversion();
 // use the conversion directly instead of relying on the write side
 ByteBuffer d1bytes = conversion.toBytes(d1, bytesSchema, decimal);
 ByteBuffer d2bytes = conversion.toBytes(d2, bytesSchema, decimal);
 File test = write(bytesSchema, d1bytes, d2bytes);
 Assert.assertEquals("Should convert bytes to BigDecimals",
   expected, read(GENERIC.createDatumReader(decimalSchema), test));
}

代码示例来源:origin: apache/avro

@Test
public void testDecimalBytesHasNoPrecisionLimit() {
 Schema schema = Schema.create(Schema.Type.BYTES);
 // precision is not limited for bytes
 LogicalTypes.decimal(Integer.MAX_VALUE).addToSchema(schema);
 Assert.assertEquals("Precision should be an Integer.MAX_VALUE",
   Integer.MAX_VALUE,
   ((LogicalTypes.Decimal) LogicalTypes.fromSchemaIgnoreInvalid(schema)).getPrecision());
}

代码示例来源:origin: apache/avro

@Test
public void testDecimalDefaultScale() {
 Schema schema = Schema.createFixed("aDecimal", null, null, 4);
 // 4 bytes can hold up to 9 digits of precision
 LogicalTypes.decimal(9).addToSchema(schema);
 Assert.assertEquals("Scale should be a 0",
   0,
   ((LogicalTypes.Decimal) LogicalTypes.fromSchemaIgnoreInvalid(schema)).getScale());
}

代码示例来源:origin: apache/avro

@Test
public void testWriteDecimalFixed() throws IOException {
 LogicalType decimal = LogicalTypes.decimal(9, 2);
 Schema fixedSchema = Schema.createFixed("aFixed", null, null, 4);
 Schema decimalSchema = decimal.addToSchema(
   Schema.createFixed("aFixed", null, null, 4));
 BigDecimal d1 = new BigDecimal("-34.34");
 BigDecimal d2 = new BigDecimal("117230.00");
 Conversion<BigDecimal> conversion = new Conversions.DecimalConversion();
 GenericFixed d1fixed = conversion.toFixed(d1, fixedSchema, decimal);
 GenericFixed d2fixed = conversion.toFixed(d2, fixedSchema, decimal);
 List<GenericFixed> expected = Arrays.asList(d1fixed, d2fixed);
 File test = write(GENERIC, decimalSchema, d1, d2);
 Assert.assertEquals("Should read BigDecimals as fixed",
   expected, read(GenericData.get().createDatumReader(fixedSchema), test));
}

代码示例来源:origin: apache/avro

@Test
public void testWriteDecimalBytes() throws IOException {
 LogicalType decimal = LogicalTypes.decimal(9, 2);
 Schema bytesSchema = Schema.create(Schema.Type.BYTES);
 Schema decimalSchema = decimal.addToSchema(Schema.create(Schema.Type.BYTES));
 BigDecimal d1 = new BigDecimal("-34.34");
 BigDecimal d2 = new BigDecimal("117230.00");
 Conversion<BigDecimal> conversion = new Conversions.DecimalConversion();
 // use the conversion directly instead of relying on the write side
 ByteBuffer d1bytes = conversion.toBytes(d1, bytesSchema, decimal);
 ByteBuffer d2bytes = conversion.toBytes(d2, bytesSchema, decimal);
 List<ByteBuffer> expected = Arrays.asList(d1bytes, d2bytes);
 File test = write(GENERIC, decimalSchema, d1bytes, d2bytes);
 Assert.assertEquals("Should read BigDecimals as bytes",
   expected, read(GenericData.get().createDatumReader(bytesSchema), test));
}

相关文章