-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/41035/
-----------------------------------------------------------
(Updated Dec. 21, 2015, 9:58 p.m.)
Review request for lens.
Bugs: LENS-791
https://issues.apache.org/jira/browse/LENS-791
Repository: lens
Description (updated)
-------
fixing cli formatting
Diffs
-----
lens-api/src/main/java/org/apache/lens/api/LensConf.java
ff965d6aabf052371e0b3b4644a5f60d1210be3d
lens-cli/src/main/java/org/apache/lens/cli/commands/BaseLensCommand.java
643772596c4724253333c0688a93ed621b4dba45
lens-cli/src/main/java/org/apache/lens/cli/commands/LensCRUDCommand.java
a0c05b41650cd8303879c6c370d892c544adf6ca
lens-cli/src/main/java/org/apache/lens/cli/commands/LensConnectionCommands.java
0aa51a8eeea2ad3e0b43d7f011c50b83b0ba30e4
lens-cli/src/main/java/org/apache/lens/cli/commands/LensDimensionCommands.java
dc8349e322adcb031ef503850e012603f5865088
lens-cli/src/main/java/org/apache/lens/cli/commands/LensQueryCommands.java
fe9b84dd5574b922c6b8a16a1b8c5b7518aa400a
lens-cli/src/main/java/org/apache/lens/cli/commands/LogicalTableCrudCommand.java
a04d5c836a31b625e0efcd5509d999d6e483cbb6
lens-client/src/main/java/org/apache/lens/client/LensClient.java
5fd04c4591264ac2e5082f1a602877771b15fac9
Diff: https://reviews.apache.org/r/41035/diff/
Testing (updated)
-------
```
properties:
cube.col.production_city_name.description: City name in which the product was
produced
cube.measure.rating.class: org.apache.lens.cube.metadata.ColumnMeasure
cube.dimension.customer_city_name.type: string
cube.col.profit.displaystring: Profit
cube.dimension.production_city_id.type: int
cube.dimension.customer_city_name.class:
org.apache.lens.cube.metadata.ReferencedDimAtrribute
cube.dimension.production_city_id.class:
org.apache.lens.cube.metadata.BaseDimAttribute
cube.measure.line_item_quantity.aggregate: SUM
cube.col.promotion_sales.cost: 0.0
cube.dimension.delivery_city_id.type: int
cube.timedim.partition.delivery_time: dt
cube.sales.joinchains.list0:
customer_details,product_details,customer_city,delivery_city,production_city
base.sales.expressions.list.size: 1
cube.dimension.order_id.type: int
cube.measure.max_line_item_price.aggregate: MAX
transient_lastDdlTime: 1450698320
cube.measure.line_item_product_price.class:
org.apache.lens.cube.metadata.ColumnMeasure
cube.col.profit.type: double
cube.col.promotion_sales.expr:
c3VtKGNhc2Ugd2hlbiBwcm9tb3Rpb25faWQgPSAwIHRoZW4gMCBlbHNlIHN0b3JlX3NhbGVzIGVu
ZCk=
:2015-04-11-18:|c3VtKGNhc2Ugd2hlbiBwcm9tb3Rpb25faWQgPSAtMSB0aGVuIDAgd2hlbiBwcm9tb3Rpb25faWQg
PSAtMSB0aGVuIDAgZWxzZSBzdG9yZV9zYWxlcyBlbmQp
::2015-04-11-18
cube.measure.line_item_tax.aggregate: SUM
cube.measure.line_item_tax.type: float
cube.col.delivery_city_name.description: City name to which the product was
delivered
cube.measure.unit_sales.type: bigint
cube.measure.store_sales.class: org.apache.lens.cube.metadata.ColumnMeasure
cube.measure.line_item_quantity.class:
org.apache.lens.cube.metadata.ColumnMeasure
cube.dimension.customer_city_id.class:
org.apache.lens.cube.metadata.BaseDimAttribute
cube.dimension.production_city_name.chain.name: production_city
cube.dimension.delivery_city_name.class:
org.apache.lens.cube.metadata.ReferencedDimAtrribute
cube.dimension.delivery_city_name.chain.name: delivery_city
cube.col.max_line_item_discount.displaystring: Maximum Line item discount
base.sales.expressions.list0: profit,promotion_sales
cube.dimension.production_country.class:
org.apache.lens.cube.metadata.BaseDimAttribute
cube.col.customer_city_name.description: City name to which the customer
belongs
cube.sales.timed.dimensions.list: order_time,delivery_time
cube.measure.line_item_product_price.type: float
cube.col.line_item_product_price.displaystring: Line item product price
cube.joinchain.customer_city.fullchain.1:
sales.customer_id.false,customer.id.false,customer.city_id.false,city.id.false
cube.col.line_item_discount_amount.displaystring: Line item discount
cube.joinchain.customer_city.fullchain.0:
sales.customer_city_id.false,city.id.false
cube.joinchain.customer_city.numchains: 2
cube.dimension.customer_city_id.type: int
cube.col.profit.expr.base64: true
cube.dimension.production_country.type: string
cube.dimension.customer_id.class:
org.apache.lens.cube.metadata.BaseDimAttribute
cube.dimension.customer_id.type: int
cube.measure.max_line_item_price.class:
org.apache.lens.cube.metadata.ColumnMeasure
cube.dimension.delivery_city_id.class:
org.apache.lens.cube.metadata.BaseDimAttribute
cube.col.store_cost.displaystring: Store Cost
cube.joinchain.customer_details.numchains: 1
cube.timedim.relation.order_time: delivery_time+[-20 days,-1 hour]
cube.table.sales.weight: 0.0
cube.dimension.product_id.type: int
cube.measure.line_item_quantity.type: int
cube.col.max_line_item_price.displaystring: Maximum Line item price
cube.dimension.customer_city_name.chain.column.name: name
cube.joinchain.delivery_city.numchains: 1
cube.col.customer_city_name.displaystring: Customer City
cube.measure.max_line_item_discount.class:
org.apache.lens.cube.metadata.ColumnMeasure
cube.dimension.order_id.class: org.apache.lens.cube.metadata.BaseDimAttribute
cube.dimension.customer_city_name.chain.name: customer_city
cube.sales.dimensions.list.size: 1
cube.joinchain.product_details.fullchain.0:
sales.product_id.false,product.id.false
cube.dimension.production_state.type: string
cube.measure.max_line_item_price.type: float
cube.col.store_sales.displaystring: Store Sales
cube.col.delivery_city_name.displaystring: Delivery City
cube.table.type: CUBE
cube.col.promotion_sales.expr.base64: true
cube.col.store_cost.starttime: 2015-02-28-18
cube.dimension.production_state.class:
org.apache.lens.cube.metadata.BaseDimAttribute
cube.col.unit_sales.displaystring: Unit Sales
cube.sales.measures.list0:
unit_sales,store_sales,store_cost,line_item_quantity,line_item_product_price,line_item_discount_amount,line_item_tax,max_line_item_price,max_line_item_discount,rating
cube.col.production_state.displaystring: Production State
cube.dimension.order_time.class:
org.apache.lens.cube.metadata.BaseDimAttribute
cube.measure.unit_sales.format: #,###
cube.col.line_item_tax.displaystring: Line item tax
cube.measure.max_line_item_discount.type: float
cube.dimension.product_id.class:
org.apache.lens.cube.metadata.BaseDimAttribute
cube.measure.line_item_product_price.aggregate: SUM
cube.dimension.production_city_name.class:
org.apache.lens.cube.metadata.ReferencedDimAtrribute
cube.col.production_country.description: Country name in which the product
was produced
cube.col.production_city_name.displaystring: Production City
cube.measure.store_sales.format: #,###.##
cube.col.profit.expr: c3RvcmVfc2FsZXMgLSBzdG9yZV9jb3N0
::
cube.dimension.delivery_time.type: timestamp
cube.measure.rating.type: float
cube.measure.line_item_tax.class: org.apache.lens.cube.metadata.ColumnMeasure
cube.measure.unit_sales.class: org.apache.lens.cube.metadata.ColumnMeasure
cube.sales.joinchains.list.size: 1
cube.joinchain.customer_details.fullchain.0:
sales.customer_id.false,customer.id.false
cube.col.customer_city_id.starttime: 2015-02-28-18
cube.joinchain.production_city.numchains: 1
cube.sales.dimensions.list0:
customer_id,product_id,promotion_id,order_id,order_line_number,order_time,delivery_time,customer_city_id,production_city_id,delivery_city_id,customer_city_name,production_location,delivery_city_name
cube.measure.store_cost.type: double
cube.dimension.production_city_name.chain.column.name: name
cube.measure.store_sales.aggregate: SUM
cube.joinchain.product_details.numchains: 1
cube.measure.rating.aggregate: AVG
cube.dimension.order_line_number.class:
org.apache.lens.cube.metadata.BaseDimAttribute
cube.col.promotion_sales.type: double
cube.dimension.order_line_number.type: int
cube.dimension.production_location.hierarchy.2:
production_country,org.apache.lens.cube.metadata.BaseDimAttribute
cube.dimension.delivery_city_name.type: string
cube.dimension.production_location.hierarchy.1:
production_state,org.apache.lens.cube.metadata.BaseDimAttribute
cube.dimension.production_location.hierarchy.0:
production_city_name,org.apache.lens.cube.metadata.ReferencedDimAtrribute
cube.dimension.delivery_city_name.chain.column.name: name
cube.joinchain.delivery_city.fullchain.0:
sales.delivery_city_id.false,city.id.false
cube.measure.store_sales.type: double
cube.measure.line_item_discount_amount.aggregate: SUM
cube.dimension.promotion_id.class:
org.apache.lens.cube.metadata.BaseDimAttribute
cube.col.production_country.displaystring: Production Country
cube.col.profit.cost: 0.0
cube.measure.line_item_discount_amount.type: float
cube.measure.unit_sales.aggregate: SUM
cube.sales.measures.list.size: 1
cube.dimension.production_location.class:
org.apache.lens.cube.metadata.HierarchicalDimAttribute
cube.dimension.promotion_id.type: int
cube.measure.max_line_item_discount.aggregate: MAX
cube.measure.line_item_discount_amount.class:
org.apache.lens.cube.metadata.ColumnMeasure
cube.dimension.delivery_time.class:
org.apache.lens.cube.metadata.BaseDimAttribute
cube.measure.store_cost.aggregate: SUM
cube.col.rating.displaystring: Rating
cube.measure.store_cost.class: org.apache.lens.cube.metadata.ColumnMeasure
cube.col.production_state.description: State name in which the product was
produced
cube.col.promotion_sales.displaystring: Promotion sales
cube.joinchain.production_city.fullchain.0:
sales.production_city_id.false,city.id.false
cube.dimension.order_time.type: timestamp
cube.col.line_item_quantity.displaystring: Line item quantity
cube.timedim.partition.order_time: ot
cube.measure.store_cost.format: #,###.00
cube.dimension.production_city_name.type: string
name: sales
description: <null>
measures:
rating:
name: rating
displayString: Rating
description: <null>
type: FLOAT
defaultAggr: AVG
formatString: <null>
startTime: <null>
endTime: <null>
unit: <null>
min: <null>
max: <null>
line_item_quantity:
name: line_item_quantity
displayString: Line item quantity
description: <null>
type: INT
defaultAggr: SUM
formatString: <null>
startTime: <null>
endTime: <null>
unit: <null>
min: <null>
max: <null>
store_sales:
name: store_sales
displayString: Store Sales
description: <null>
type: DOUBLE
defaultAggr: SUM
formatString: #,###.##
startTime: <null>
endTime: <null>
unit: <null>
min: <null>
max: <null>
unit_sales:
name: unit_sales
displayString: Unit Sales
description: <null>
type: BIGINT
defaultAggr: SUM
formatString: #,###
startTime: <null>
endTime: <null>
unit: <null>
min: <null>
max: <null>
line_item_tax:
name: line_item_tax
displayString: Line item tax
description: <null>
type: FLOAT
defaultAggr: SUM
formatString: <null>
startTime: <null>
endTime: <null>
unit: <null>
min: <null>
max: <null>
max_line_item_discount:
name: max_line_item_discount
displayString: Maximum Line item discount
description: <null>
type: FLOAT
defaultAggr: MAX
formatString: <null>
startTime: <null>
endTime: <null>
unit: <null>
min: <null>
max: <null>
store_cost:
name: store_cost
displayString: Store Cost
description: <null>
type: DOUBLE
defaultAggr: SUM
formatString: #,###.00
startTime: 2015-02-28T23:30:00.000+05:30
endTime: <null>
unit: <null>
min: <null>
max: <null>
max_line_item_price:
name: max_line_item_price
displayString: Maximum Line item price
description: <null>
type: FLOAT
defaultAggr: MAX
formatString: <null>
startTime: <null>
endTime: <null>
unit: <null>
min: <null>
max: <null>
line_item_discount_amount:
name: line_item_discount_amount
displayString: Line item discount
description: <null>
type: FLOAT
defaultAggr: SUM
formatString: <null>
startTime: <null>
endTime: <null>
unit: <null>
min: <null>
max: <null>
line_item_product_price:
name: line_item_product_price
displayString: Line item product price
description: <null>
type: FLOAT
defaultAggr: SUM
formatString: <null>
startTime: <null>
endTime: <null>
unit: <null>
min: <null>
max: <null>
dimAttributes:
production_location:
name: production_location
displayString: <null>
description: <null>
refSpec: <null>
hierarchy:
production_city_name:
name: production_city_name
displayString: Production City
description: City name in which the product was produced
refSpec:
tableReferences: <null>
chainRefColumn:
-
chainName: production_city
refCol: name
destTable: city
hierarchy: <null>
values: <null>
type: string
startTime: <null>
endTime: <null>
numDistinctValues: <null>
joinKey: false
production_state:
name: production_state
displayString: Production State
description: State name in which the product was produced
refSpec: <null>
hierarchy: <null>
values: <null>
type: string
startTime: <null>
endTime: <null>
numDistinctValues: <null>
joinKey: false
production_country:
name: production_country
displayString: Production Country
description: Country name in which the product was produced
refSpec: <null>
hierarchy: <null>
values: <null>
type: string
startTime: <null>
endTime: <null>
numDistinctValues: <null>
joinKey: false
values: <null>
type: <null>
startTime: <null>
endTime: <null>
numDistinctValues: <null>
joinKey: false
customer_city_name:
name: customer_city_name
displayString: Customer City
description: City name to which the customer belongs
refSpec:
tableReferences: <null>
chainRefColumn:
-
chainName: customer_city
refCol: name
destTable: city
hierarchy: <null>
values: <null>
type: string
startTime: <null>
endTime: <null>
numDistinctValues: <null>
joinKey: false
production_city_id:
name: production_city_id
displayString: <null>
description: <null>
refSpec: <null>
hierarchy: <null>
values: <null>
type: int
startTime: <null>
endTime: <null>
numDistinctValues: <null>
joinKey: false
product_id:
name: product_id
displayString: <null>
description: <null>
refSpec: <null>
hierarchy: <null>
values: <null>
type: int
startTime: <null>
endTime: <null>
numDistinctValues: <null>
joinKey: false
order_id:
name: order_id
displayString: <null>
description: <null>
refSpec: <null>
hierarchy: <null>
values: <null>
type: int
startTime: <null>
endTime: <null>
numDistinctValues: <null>
joinKey: false
delivery_city_id:
name: delivery_city_id
displayString: <null>
description: <null>
refSpec: <null>
hierarchy: <null>
values: <null>
type: int
startTime: <null>
endTime: <null>
numDistinctValues: <null>
joinKey: false
delivery_time:
name: delivery_time
displayString: <null>
description: <null>
refSpec: <null>
hierarchy: <null>
values: <null>
type: timestamp
startTime: <null>
endTime: <null>
numDistinctValues: <null>
joinKey: false
order_time:
name: order_time
displayString: <null>
description: <null>
refSpec: <null>
hierarchy: <null>
values: <null>
type: timestamp
startTime: <null>
endTime: <null>
numDistinctValues: <null>
joinKey: false
order_line_number:
name: order_line_number
displayString: <null>
description: <null>
refSpec: <null>
hierarchy: <null>
values: <null>
type: int
startTime: <null>
endTime: <null>
numDistinctValues: <null>
joinKey: false
customer_city_id:
name: customer_city_id
displayString: <null>
description: <null>
refSpec: <null>
hierarchy: <null>
values: <null>
type: int
startTime: 2015-02-28T23:30:00.000+05:30
endTime: <null>
numDistinctValues: <null>
joinKey: false
promotion_id:
name: promotion_id
displayString: <null>
description: <null>
refSpec: <null>
hierarchy: <null>
values: <null>
type: int
startTime: <null>
endTime: <null>
numDistinctValues: <null>
joinKey: false
delivery_city_name:
name: delivery_city_name
displayString: Delivery City
description: City name to which the product was delivered
refSpec:
tableReferences: <null>
chainRefColumn:
-
chainName: delivery_city
refCol: name
destTable: city
hierarchy: <null>
values: <null>
type: string
startTime: <null>
endTime: <null>
numDistinctValues: <null>
joinKey: false
customer_id:
name: customer_id
displayString: <null>
description: <null>
refSpec: <null>
hierarchy: <null>
values: <null>
type: int
startTime: <null>
endTime: <null>
numDistinctValues: <null>
joinKey: false
expressions:
profit:
name: profit
displayString: Profit
description: <null>
exprSpec:
-
expr: store_sales - store_cost
startTime: <null>
endTime: <null>
type: double
promotion_sales:
name: promotion_sales
displayString: Promotion sales
description: <null>
exprSpec:
-
expr: sum(case when promotion_id = 0 then 0 else store_sales end)
startTime: 2015-04-11T23:30:00.000+05:30
endTime: <null>
-
expr: sum(case when promotion_id = -1 then 0 when promotion_id = -1
then 0 else store_sales end)
startTime: <null>
endTime: 2015-04-11T23:30:00.000+05:30
type: double
joinChains:
product_details:
name: product_details
displayString: <null>
description: <null>
paths:
-
sales.product_id=product.id
destTable: product
production_city:
name: production_city
displayString: <null>
description: <null>
paths:
-
sales.production_city_id=city.id
destTable: city
customer_details:
name: customer_details
displayString: <null>
description: <null>
paths:
-
sales.customer_id=customer.id
destTable: customer
delivery_city:
name: delivery_city
displayString: <null>
description: <null>
paths:
-
sales.delivery_city_id=city.id
destTable: city
customer_city:
name: customer_city
displayString: <null>
description: <null>
paths:
-
sales.customer_city_id=city.id
-
sales.customer_id=customer.id
customer.city_id=city.id
destTable: city
```
Thoughts?
Thanks,
Rajat Khandelwal