本文整理了Java中org.apache.avro.LogicalTypes.decimal()
方法的一些代码示例,展示了LogicalTypes.decimal()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。LogicalTypes.decimal()
方法的具体详情如下:
包路径:org.apache.avro.LogicalTypes
类名称: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));
}
内容来源于网络,如有侵权,请联系作者删除!