[ https://issues.apache.org/jira/browse/BEAM-7513?focusedWorklogId=260635&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-260635 ]
ASF GitHub Bot logged work on BEAM-7513: ---------------------------------------- Author: ASF GitHub Bot Created on: 14/Jun/19 18:38 Start Date: 14/Jun/19 18:38 Worklog Time Spent: 10m Work Description: akedin commented on pull request #8822: [BEAM-7513] Adding Row Count for Bigquery Table URL: https://github.com/apache/beam/pull/8822#discussion_r293926950 ########## File path: sdks/java/extensions/sql/src/main/java/org/apache/beam/sdk/extensions/sql/impl/JdbcDriver.java ########## @@ -141,17 +144,34 @@ public Connection connect(String url, Properties info) throws SQLException { * not this path. The CLI ends up using the schema factory that populates the default schema with * all table providers it can find. See {@link BeamCalciteSchemaFactory}. */ - public static JdbcConnection connect(TableProvider tableProvider) { + public static JdbcConnection connect(TableProvider tableProvider, PipelineOptions options) { try { Properties properties = new Properties(); properties.setProperty( SCHEMA_FACTORY.camelName(), BeamCalciteSchemaFactory.Empty.class.getName()); JdbcConnection connection = (JdbcConnection) INSTANCE.connect(CONNECT_STRING_PREFIX, properties); connection.setSchema(TOP_LEVEL_BEAM_SCHEMA, tableProvider); + connection.setPipelineOptionsMap(getOptionsMap(options)); return connection; } catch (SQLException e) { throw new RuntimeException(e); } } + + /** Converts {@link PipelineOptions} to its map format. */ + private static Map<String, String> getOptionsMap(PipelineOptions options) { + ObjectMapper objectMapper = new ObjectMapper(); Review comment: make it a static constant? ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org Issue Time Tracking ------------------- Worklog Id: (was: 260635) Time Spent: 1.5h (was: 1h 20m) > Row Estimation for BigQueryTable > -------------------------------- > > Key: BEAM-7513 > URL: https://issues.apache.org/jira/browse/BEAM-7513 > Project: Beam > Issue Type: New Feature > Components: dsl-sql, io-java-gcp > Reporter: Alireza Samadianzakaria > Assignee: Alireza Samadianzakaria > Priority: Major > Time Spent: 1.5h > Remaining Estimate: 0h > > Calcite tables (org.apache.calcite.schema.Table) should implement the method > org.apache.calcite.schema.Statistic getStatistic(). The Statistic instance > returned by this method is used for the Volcano optimizer in Calcite. > Currently, org.apache.beam.sdk.extensions.sql.impl.BeamCalciteTable has not > implemented getStatistic() which means it uses the implementation in > org.apache.calcite.schema.impl.AbstractTable and that implementation just > returns Statistics.UNKNOWN for all sources. > > Things needed to be implemented: > 1- Implementing getStatistic in BeamCalciteTable such that it calls a row > count estimation method from BeamSqlTable and adding this method to > BeamSqlTable. > 2- Implementing the row count estimation method for BigQueryTable. -- This message was sent by Atlassian JIRA (v7.6.3#76005)