### Question:
Hbase20XsqlQueryTool extends BaseQueryTool implements QueryToolInterface { @Override public List<String> getColumnNames(String tableName, String datasource) { DatabaseMetaData metaData = null; List<String> columnNames = Lists.newArrayList(); ResultSet rs = null; try { metaData = conn.getMetaData(); rs = metaData.getColumns(conn.getCatalog(), null, tableName, "%"); while (rs.next()) { columnNames.add(rs.getString("COLUMN_NAME")); } } catch (SQLException e) { logger.error("[getColumnNames Exception] --> " + "the exception message is:" + e.getMessage()); } finally { JdbcUtils.close(rs); } return columnNames; } Hbase20XsqlQueryTool(JobDatasource jobJdbcDatasource); @Override List<String> getTableNames(String tableSchema); @Override List<String> getColumnNames(String tableName, String datasource);  }### Answer:
@Test public void getColumnNames() { List<String> columns = queryTool.getColumnNames("STOCK_SYMBOL", null); for (String column : columns) { System.out.println(column); } }