当前位置: 首页>>代码示例>>Java>>正文


Java TableDesc.getPath方法代码示例

本文整理汇总了Java中org.apache.tajo.catalog.TableDesc.getPath方法的典型用法代码示例。如果您正苦于以下问题:Java TableDesc.getPath方法的具体用法?Java TableDesc.getPath怎么用?Java TableDesc.getPath使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.tajo.catalog.TableDesc的用法示例。


在下文中一共展示了TableDesc.getPath方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: assertPartitionDirectories

import org.apache.tajo.catalog.TableDesc; //导入方法依赖的package包/类
private void assertPartitionDirectories(TableDesc desc) throws IOException {
  FileSystem fs = FileSystem.get(conf);
  Path path = desc.getPath();
  assertTrue(fs.isDirectory(path));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/key=17.0")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/key=36.0")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/key=38.0")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/key=45.0")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/key=49.0")));
  assertEquals(5, desc.getStats().getNumRows().intValue());
}
 
开发者ID:apache,项目名称:incubator-tajo,代码行数:12,代码来源:TestTablePartitions.java

示例2: testColumnPartitionedTableByOneColumnsWithCompression

import org.apache.tajo.catalog.TableDesc; //导入方法依赖的package包/类
@Test
public final void testColumnPartitionedTableByOneColumnsWithCompression() throws Exception {
  String tableName = "testColumnPartitionedTableByOneColumnsWithCompression";
  ResultSet res = executeString(
      "create table " + tableName + " (col2 int4, col3 float8) USING csv " +
          "WITH ('csvfile.delimiter'='|','compression.codec'='org.apache.hadoop.io.compress.DeflateCodec') " +
          "PARTITION BY column(col1 int4)");
  res.close();
  assertTrue(catalog.existsTable(tableName));

  res = executeString(
      "insert overwrite into " + tableName + " select l_partkey, l_quantity, l_orderkey from lineitem");
  res.close();
  TableDesc desc = catalog.getTableDesc(tableName);
  assertEquals(5, desc.getStats().getNumRows().intValue());

  FileSystem fs = FileSystem.get(conf);
  assertTrue(fs.exists(desc.getPath()));
  CompressionCodecFactory factory = new CompressionCodecFactory(conf);

  Path path = desc.getPath();
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=1")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=2")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=3")));

  for (FileStatus partition : fs.listStatus(path)){
    assertTrue(fs.isDirectory(partition.getPath()));
    for (FileStatus file : fs.listStatus(partition.getPath())) {
      CompressionCodec codec = factory.getCodec(file.getPath());
      assertTrue(codec instanceof DeflateCodec);
    }
  }
}
 
开发者ID:apache,项目名称:incubator-tajo,代码行数:34,代码来源:TestTablePartitions.java

示例3: testCtasWithoutTableDefinition

import org.apache.tajo.catalog.TableDesc; //导入方法依赖的package包/类
@Test
public final void testCtasWithoutTableDefinition() throws Exception {
  ResultSet res = executeQuery();

  res.close();
  CatalogService catalog = testBase.getTestingCluster().getMaster().getCatalog();
  TableDesc desc = catalog.getTableDesc("testCtasWithoutTableDefinition");
  assertTrue(catalog.existsTable("testCtasWithoutTableDefinition"));

  assertTrue(desc.getSchema().contains("testCtasWithoutTableDefinition.col1"));
  PartitionMethodDesc partitionDesc = desc.getPartitionMethod();
  assertEquals(partitionDesc.getPartitionType(), CatalogProtos.PartitionType.COLUMN);
  assertEquals("key", partitionDesc.getExpressionSchema().getColumns().get(0).getSimpleName());

  FileSystem fs = FileSystem.get(testBase.getTestingCluster().getConfiguration());
  Path path = desc.getPath();
  assertTrue(fs.isDirectory(path));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/key=17.0")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/key=36.0")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/key=38.0")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/key=45.0")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/key=49.0")));
  assertEquals(5, desc.getStats().getNumRows().intValue());

  ResultSet res2 = executeFile("check1.sql");

  Map<Double, int []> resultRows1 = Maps.newHashMap();
  resultRows1.put(45.0d, new int[]{3, 2});
  resultRows1.put(38.0d, new int[]{2, 2});

  int i = 0;
  while(res2.next()) {
    assertEquals(resultRows1.get(res2.getDouble(3))[0], res2.getInt(1));
    assertEquals(resultRows1.get(res2.getDouble(3))[1], res2.getInt(2));
    i++;
  }
  res2.close();
  assertEquals(2, i);
}
 
开发者ID:apache,项目名称:incubator-tajo,代码行数:40,代码来源:TestCTASQuery.java

示例4: testCtasWithColumnedPartition

import org.apache.tajo.catalog.TableDesc; //导入方法依赖的package包/类
@Test
public final void testCtasWithColumnedPartition() throws Exception {
  ResultSet res = executeQuery();
  res.close();

  TajoTestingCluster cluster = testBase.getTestingCluster();
  CatalogService catalog = cluster.getMaster().getCatalog();
  TableDesc desc = catalog.getTableDesc("testCtasWithColumnedPartition");
  assertTrue(catalog.existsTable("testCtasWithColumnedPartition"));
  PartitionMethodDesc partitionDesc = desc.getPartitionMethod();
  assertEquals(partitionDesc.getPartitionType(), CatalogProtos.PartitionType.COLUMN);
  assertEquals("key", partitionDesc.getExpressionSchema().getColumns().get(0).getSimpleName());

  FileSystem fs = FileSystem.get(cluster.getConfiguration());
  Path path = desc.getPath();
  assertTrue(fs.isDirectory(path));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/key=17.0")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/key=36.0")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/key=38.0")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/key=45.0")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/key=49.0")));
  assertEquals(5, desc.getStats().getNumRows().intValue());

  ResultSet res2 = executeFile("check2.sql");

  Map<Double, int []> resultRows1 = Maps.newHashMap();
  resultRows1.put(45.0d, new int[]{3, 2});
  resultRows1.put(38.0d, new int[]{2, 2});

  int i = 0;
  while(res2.next()) {
    assertEquals(resultRows1.get(res2.getDouble(3))[0], res2.getInt(1));
    assertEquals(resultRows1.get(res2.getDouble(3))[1], res2.getInt(2));
    i++;
  }
  res2.close();
  assertEquals(2, i);
}
 
开发者ID:apache,项目名称:incubator-tajo,代码行数:39,代码来源:TestCTASQuery.java

示例5: assertPartitionDirectories

import org.apache.tajo.catalog.TableDesc; //导入方法依赖的package包/类
private void assertPartitionDirectories(TableDesc desc) throws IOException {
  FileSystem fs = FileSystem.get(conf);
  Path path = desc.getPath();
  assertTrue(fs.isDirectory(path));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/key=17.0")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/key=36.0")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/key=38.0")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/key=45.0")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/key=49.0")));
  if (!testingCluster.isHCatalogStoreRunning()) {
    assertEquals(5, desc.getStats().getNumRows().intValue());
  }
}
 
开发者ID:gruter,项目名称:tajo-cdh,代码行数:14,代码来源:TestTablePartitions.java

示例6: testColumnPartitionedTableByOneColumnsWithCompression

import org.apache.tajo.catalog.TableDesc; //导入方法依赖的package包/类
@Test
public final void testColumnPartitionedTableByOneColumnsWithCompression() throws Exception {
  String tableName = CatalogUtil.normalizeIdentifier("testColumnPartitionedTableByOneColumnsWithCompression");
  ResultSet res = executeString(
      "create table " + tableName + " (col2 int4, col3 float8) USING csv " +
          "WITH ('csvfile.delimiter'='|','compression.codec'='org.apache.hadoop.io.compress.DeflateCodec') " +
          "PARTITION BY column(col1 int4)");
  res.close();
  assertTrue(catalog.existsTable(DEFAULT_DATABASE_NAME, tableName));

  res = executeString(
      "insert overwrite into " + tableName + " select l_partkey, l_quantity, l_orderkey from lineitem");
  res.close();
  TableDesc desc = catalog.getTableDesc(DEFAULT_DATABASE_NAME, tableName);
  if (!testingCluster.isHCatalogStoreRunning()) {
    assertEquals(5, desc.getStats().getNumRows().intValue());
  }

  FileSystem fs = FileSystem.get(conf);
  assertTrue(fs.exists(desc.getPath()));
  CompressionCodecFactory factory = new CompressionCodecFactory(conf);

  Path path = desc.getPath();
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=1")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=2")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=3")));

  for (FileStatus partition : fs.listStatus(path)){
    assertTrue(fs.isDirectory(partition.getPath()));
    for (FileStatus file : fs.listStatus(partition.getPath())) {
      CompressionCodec codec = factory.getCodec(file.getPath());
      assertTrue(codec instanceof DeflateCodec);
    }
  }
}
 
开发者ID:gruter,项目名称:tajo-cdh,代码行数:36,代码来源:TestTablePartitions.java

示例7: testColumnPartitionedTableByThreeColumns

import org.apache.tajo.catalog.TableDesc; //导入方法依赖的package包/类
@Test
public final void testColumnPartitionedTableByThreeColumns() throws Exception {
  String tableName ="testColumnPartitionedTableByThreeColumns";
  ResultSet res = testBase.execute(
      "create table " + tableName +" (col4 text) partition by column(col1 int4, col2 int4, col3 float8) ");
  res.close();
  TajoTestingCluster cluster = testBase.getTestingCluster();
  CatalogService catalog = cluster.getMaster().getCatalog();
  assertTrue(catalog.existsTable(tableName));

  res = executeString("insert overwrite into " + tableName
      + " select l_returnflag, l_orderkey, l_partkey, l_quantity from lineitem");
  res.close();

  TableDesc desc = catalog.getTableDesc(tableName);
  Path path = desc.getPath();

  FileSystem fs = FileSystem.get(conf);
  assertTrue(fs.isDirectory(path));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=1")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=1/col2=1")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=1/col2=1/col3=17.0")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=2")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=2/col2=2")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=2/col2=2/col3=38.0")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=3")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=3/col2=2")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=3/col2=3")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=3/col2=2/col3=45.0")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=3/col2=3/col3=49.0")));
  assertEquals(5, desc.getStats().getNumRows().intValue());

  res = executeString("select * from " + tableName + " where col2 = 2");

  Map<Double, int []> resultRows1 = Maps.newHashMap();
  resultRows1.put(45.0d, new int[]{3, 2});
  resultRows1.put(38.0d, new int[]{2, 2});


  for (int i = 0; i < 2; i++) {
    assertTrue(res.next());
    assertEquals(resultRows1.get(res.getDouble(4))[0], res.getInt(2));
    assertEquals(resultRows1.get(res.getDouble(4))[1], res.getInt(3));
  }
  res.close();


  Map<Double, int []> resultRows2 = Maps.newHashMap();
  resultRows2.put(49.0d, new int[]{3, 3});
  resultRows2.put(45.0d, new int[]{3, 2});
  resultRows2.put(38.0d, new int[]{2, 2});

  res = executeString("select * from " + tableName + " where (col1 = 2 or col1 = 3) and col2 >= 2");

  for (int i = 0; i < 3; i++) {
    assertTrue(res.next());
    assertEquals(resultRows2.get(res.getDouble(4))[0], res.getInt(2));
    assertEquals(resultRows2.get(res.getDouble(4))[1], res.getInt(3));
  }
  res.close();
}
 
开发者ID:apache,项目名称:incubator-tajo,代码行数:62,代码来源:TestTablePartitions.java

示例8: testColumnPartitionedTableByTwoColumnsWithCompression

import org.apache.tajo.catalog.TableDesc; //导入方法依赖的package包/类
@Test
public final void testColumnPartitionedTableByTwoColumnsWithCompression() throws Exception {
  String tableName = "testColumnPartitionedTableByTwoColumnsWithCompression";
  ResultSet res = executeString("create table " + tableName + " (col3 float8, col4 text) USING csv " +
      "WITH ('csvfile.delimiter'='|','compression.codec'='org.apache.hadoop.io.compress.DeflateCodec') " +
      "PARTITION by column(col1 int4, col2 int4)");
  res.close();

  assertTrue(catalog.existsTable(tableName));

  res = executeString(
      "insert overwrite into " + tableName +
          " select  l_quantity, l_returnflag, l_orderkey, l_partkey from lineitem");
  res.close();
  TableDesc desc = catalog.getTableDesc(tableName);
  assertEquals(5, desc.getStats().getNumRows().intValue());

  FileSystem fs = FileSystem.get(conf);
  assertTrue(fs.exists(desc.getPath()));
  CompressionCodecFactory factory = new CompressionCodecFactory(conf);

  Path path = desc.getPath();
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=1")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=1/col2=1")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=2")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=2/col2=2")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=3")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=3/col2=2")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=3/col2=3")));

  for (FileStatus partition1 : fs.listStatus(path)){
    assertTrue(fs.isDirectory(partition1.getPath()));
    for (FileStatus partition2 : fs.listStatus(partition1.getPath())) {
      assertTrue(fs.isDirectory(partition2.getPath()));
      for (FileStatus file : fs.listStatus(partition2.getPath())) {
        CompressionCodec codec = factory.getCodec(file.getPath());
        assertTrue(codec instanceof DeflateCodec);
      }
    }
  }
}
 
开发者ID:apache,项目名称:incubator-tajo,代码行数:42,代码来源:TestTablePartitions.java

示例9: testColumnPartitionedTableByThreeColumnsWithCompression

import org.apache.tajo.catalog.TableDesc; //导入方法依赖的package包/类
@Test
public final void testColumnPartitionedTableByThreeColumnsWithCompression() throws Exception {
  String tableName = "testColumnPartitionedTableByThreeColumnsWithCompression";
  ResultSet res = executeString(
      "create table " + tableName + " (col4 text) USING csv " +
          "WITH ('csvfile.delimiter'='|','compression.codec'='org.apache.hadoop.io.compress.DeflateCodec') " +
          "partition by column(col1 int4, col2 int4, col3 float8)");
  res.close();

  assertTrue(catalog.existsTable(tableName));

  res = executeString(
      "insert overwrite into " + tableName +
          " select l_returnflag, l_orderkey, l_partkey, l_quantity from lineitem");
  res.close();
  TableDesc desc = catalog.getTableDesc(tableName);
  assertEquals(5, desc.getStats().getNumRows().intValue());

  FileSystem fs = FileSystem.get(conf);
  assertTrue(fs.exists(desc.getPath()));
  CompressionCodecFactory factory = new CompressionCodecFactory(conf);

  Path path = desc.getPath();
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=1")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=1/col2=1")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=1/col2=1/col3=17.0")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=2")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=2/col2=2")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=2/col2=2/col3=38.0")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=3")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=3/col2=2")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=3/col2=3")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=3/col2=2/col3=45.0")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=3/col2=3/col3=49.0")));

  for (FileStatus partition1 : fs.listStatus(path)){
    assertTrue(fs.isDirectory(partition1.getPath()));
    for (FileStatus partition2 : fs.listStatus(partition1.getPath())) {
      assertTrue(fs.isDirectory(partition2.getPath()));
      for (FileStatus partition3 : fs.listStatus(partition2.getPath())) {
        assertTrue(fs.isDirectory(partition3.getPath()));
        for (FileStatus file : fs.listStatus(partition3.getPath())) {
          CompressionCodec codec = factory.getCodec(file.getPath());
          assertTrue(codec instanceof DeflateCodec);
        }
      }
    }
  }

  res = executeString("select * from " + tableName + " where col2 = 2");

  Map<Double, int []> resultRows1 = Maps.newHashMap();
  resultRows1.put(45.0d, new int[]{3, 2});
  resultRows1.put(38.0d, new int[]{2, 2});

  int i = 0;
  while (res.next()) {
    assertEquals(resultRows1.get(res.getDouble(4))[0], res.getInt(2));
    assertEquals(resultRows1.get(res.getDouble(4))[1], res.getInt(3));
    i++;
  }
  res.close();
  assertEquals(2, i);

  Map<Double, int []> resultRows2 = Maps.newHashMap();
  resultRows2.put(49.0d, new int[]{3, 3});
  resultRows2.put(45.0d, new int[]{3, 2});
  resultRows2.put(38.0d, new int[]{2, 2});

  res = executeString("select * from " + tableName + " where (col1 = 2 or col1 = 3) and col2 >= 2");
  i = 0;
  while(res.next()) {
    assertEquals(resultRows2.get(res.getDouble(4))[0], res.getInt(2));
    assertEquals(resultRows2.get(res.getDouble(4))[1], res.getInt(3));
    i++;
  }

  res.close();
  assertEquals(3, i);
}
 
开发者ID:apache,项目名称:incubator-tajo,代码行数:81,代码来源:TestTablePartitions.java

示例10: testColumnPartitionedTableNoMatchedPartition

import org.apache.tajo.catalog.TableDesc; //导入方法依赖的package包/类
@Test
public final void testColumnPartitionedTableNoMatchedPartition() throws Exception {
  String tableName = "testColumnPartitionedTableNoMatchedPartition";
  ResultSet res = executeString(
      "create table " + tableName + " (col4 text) USING csv " +
          "WITH ('csvfile.delimiter'='|','compression.codec'='org.apache.hadoop.io.compress.DeflateCodec') " +
          "partition by column(col1 int4, col2 int4, col3 float8)");
  res.close();

  assertTrue(catalog.existsTable(tableName));

  res = executeString(
      "insert overwrite into " + tableName +
          " select l_returnflag , l_orderkey, l_partkey, l_quantity from lineitem");
  res.close();
  TableDesc desc = catalog.getTableDesc(tableName);
  assertEquals(5, desc.getStats().getNumRows().intValue());

  FileSystem fs = FileSystem.get(conf);
  assertTrue(fs.exists(desc.getPath()));
  CompressionCodecFactory factory = new CompressionCodecFactory(conf);

  Path path = desc.getPath();
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=1")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=1/col2=1")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=1/col2=1/col3=17.0")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=2")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=2/col2=2")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=2/col2=2/col3=38.0")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=3")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=3/col2=2")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=3/col2=3")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=3/col2=2/col3=45.0")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=3/col2=3/col3=49.0")));

  for (FileStatus partition1 : fs.listStatus(path)){
    assertTrue(fs.isDirectory(partition1.getPath()));
    for (FileStatus partition2 : fs.listStatus(partition1.getPath())) {
      assertTrue(fs.isDirectory(partition2.getPath()));
      for (FileStatus partition3 : fs.listStatus(partition2.getPath())) {
        assertTrue(fs.isDirectory(partition3.getPath()));
        for (FileStatus file : fs.listStatus(partition3.getPath())) {
          CompressionCodec codec = factory.getCodec(file.getPath());
          assertTrue(codec instanceof DeflateCodec);
        }
      }
    }
  }

  res = executeString("select * from " + tableName + " where col2 = 9");
  assertFalse(res.next());
  res.close();
}
 
开发者ID:apache,项目名称:incubator-tajo,代码行数:54,代码来源:TestTablePartitions.java

示例11: testColumnPartitionedTableByThreeColumns

import org.apache.tajo.catalog.TableDesc; //导入方法依赖的package包/类
@Test
public final void testColumnPartitionedTableByThreeColumns() throws Exception {
  String tableName = CatalogUtil.normalizeIdentifier("testColumnPartitionedTableByThreeColumns");
  ResultSet res = testBase.execute(
      "create table " + tableName + " (col4 text) partition by column(col1 int4, col2 int4, col3 float8) ");
  res.close();
  TajoTestingCluster cluster = testBase.getTestingCluster();
  CatalogService catalog = cluster.getMaster().getCatalog();
  assertTrue(catalog.existsTable(DEFAULT_DATABASE_NAME, tableName));

  res = executeString("insert overwrite into " + tableName
      + " select l_returnflag, l_orderkey, l_partkey, l_quantity from lineitem");
  res.close();

  TableDesc desc = catalog.getTableDesc(DEFAULT_DATABASE_NAME, tableName);
  Path path = desc.getPath();

  FileSystem fs = FileSystem.get(conf);
  assertTrue(fs.isDirectory(path));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=1")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=1/col2=1")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=1/col2=1/col3=17.0")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=2")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=2/col2=2")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=2/col2=2/col3=38.0")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=3")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=3/col2=2")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=3/col2=3")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=3/col2=2/col3=45.0")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=3/col2=3/col3=49.0")));
  if (!testingCluster.isHCatalogStoreRunning()) {
    assertEquals(5, desc.getStats().getNumRows().intValue());
  }

  res = executeString("select * from " + tableName + " where col2 = 2");

  Map<Double, int []> resultRows1 = Maps.newHashMap();
  resultRows1.put(45.0d, new int[]{3, 2});
  resultRows1.put(38.0d, new int[]{2, 2});


  for (int i = 0; i < 2; i++) {
    assertTrue(res.next());
    assertEquals(resultRows1.get(res.getDouble(4))[0], res.getInt(2));
    assertEquals(resultRows1.get(res.getDouble(4))[1], res.getInt(3));
  }
  res.close();


  Map<Double, int []> resultRows2 = Maps.newHashMap();
  resultRows2.put(49.0d, new int[]{3, 3});
  resultRows2.put(45.0d, new int[]{3, 2});
  resultRows2.put(38.0d, new int[]{2, 2});

  res = executeString("select * from " + tableName + " where (col1 = 2 or col1 = 3) and col2 >= 2");

  for (int i = 0; i < 3; i++) {
    assertTrue(res.next());
    assertEquals(resultRows2.get(res.getDouble(4))[0], res.getInt(2));
    assertEquals(resultRows2.get(res.getDouble(4))[1], res.getInt(3));
  }
  res.close();
}
 
开发者ID:gruter,项目名称:tajo-cdh,代码行数:64,代码来源:TestTablePartitions.java

示例12: testColumnPartitionedTableByTwoColumnsWithCompression

import org.apache.tajo.catalog.TableDesc; //导入方法依赖的package包/类
@Test
public final void testColumnPartitionedTableByTwoColumnsWithCompression() throws Exception {
  String tableName = CatalogUtil.normalizeIdentifier("testColumnPartitionedTableByTwoColumnsWithCompression");
  ResultSet res = executeString("create table " + tableName + " (col3 float8, col4 text) USING csv " +
      "WITH ('csvfile.delimiter'='|','compression.codec'='org.apache.hadoop.io.compress.DeflateCodec') " +
      "PARTITION by column(col1 int4, col2 int4)");
  res.close();

  assertTrue(catalog.existsTable(DEFAULT_DATABASE_NAME, tableName));

  res = executeString(
      "insert overwrite into " + tableName +
          " select  l_quantity, l_returnflag, l_orderkey, l_partkey from lineitem");
  res.close();
  TableDesc desc = catalog.getTableDesc(DEFAULT_DATABASE_NAME, tableName);
  if (!testingCluster.isHCatalogStoreRunning()) {
    assertEquals(5, desc.getStats().getNumRows().intValue());
  }

  FileSystem fs = FileSystem.get(conf);
  assertTrue(fs.exists(desc.getPath()));
  CompressionCodecFactory factory = new CompressionCodecFactory(conf);

  Path path = desc.getPath();
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=1")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=1/col2=1")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=2")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=2/col2=2")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=3")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=3/col2=2")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=3/col2=3")));

  for (FileStatus partition1 : fs.listStatus(path)){
    assertTrue(fs.isDirectory(partition1.getPath()));
    for (FileStatus partition2 : fs.listStatus(partition1.getPath())) {
      assertTrue(fs.isDirectory(partition2.getPath()));
      for (FileStatus file : fs.listStatus(partition2.getPath())) {
        CompressionCodec codec = factory.getCodec(file.getPath());
        assertTrue(codec instanceof DeflateCodec);
      }
    }
  }
}
 
开发者ID:gruter,项目名称:tajo-cdh,代码行数:44,代码来源:TestTablePartitions.java

示例13: testColumnPartitionedTableNoMatchedPartition

import org.apache.tajo.catalog.TableDesc; //导入方法依赖的package包/类
@Test
public final void testColumnPartitionedTableNoMatchedPartition() throws Exception {
  String tableName = CatalogUtil.normalizeIdentifier("testColumnPartitionedTableNoMatchedPartition");
  ResultSet res = executeString(
      "create table " + tableName + " (col4 text) USING csv " +
          "WITH ('csvfile.delimiter'='|','compression.codec'='org.apache.hadoop.io.compress.DeflateCodec') " +
          "partition by column(col1 int4, col2 int4, col3 float8)");
  res.close();

  assertTrue(catalog.existsTable(DEFAULT_DATABASE_NAME, tableName));

  res = executeString(
      "insert overwrite into " + tableName +
          " select l_returnflag , l_orderkey, l_partkey, l_quantity from lineitem");
  res.close();
  TableDesc desc = catalog.getTableDesc(DEFAULT_DATABASE_NAME, tableName);
  if (!testingCluster.isHCatalogStoreRunning()) {
    assertEquals(5, desc.getStats().getNumRows().intValue());
  }

  FileSystem fs = FileSystem.get(conf);
  assertTrue(fs.exists(desc.getPath()));
  CompressionCodecFactory factory = new CompressionCodecFactory(conf);

  Path path = desc.getPath();
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=1")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=1/col2=1")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=1/col2=1/col3=17.0")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=2")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=2/col2=2")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=2/col2=2/col3=38.0")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=3")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=3/col2=2")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=3/col2=3")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=3/col2=2/col3=45.0")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=3/col2=3/col3=49.0")));

  for (FileStatus partition1 : fs.listStatus(path)){
    assertTrue(fs.isDirectory(partition1.getPath()));
    for (FileStatus partition2 : fs.listStatus(partition1.getPath())) {
      assertTrue(fs.isDirectory(partition2.getPath()));
      for (FileStatus partition3 : fs.listStatus(partition2.getPath())) {
        assertTrue(fs.isDirectory(partition3.getPath()));
        for (FileStatus file : fs.listStatus(partition3.getPath())) {
          CompressionCodec codec = factory.getCodec(file.getPath());
          assertTrue(codec instanceof DeflateCodec);
        }
      }
    }
  }

  res = executeString("select * from " + tableName + " where col2 = 9");
  assertFalse(res.next());
  res.close();
}
 
开发者ID:gruter,项目名称:tajo-cdh,代码行数:56,代码来源:TestTablePartitions.java

示例14: testCtasWithoutTableDefinition

import org.apache.tajo.catalog.TableDesc; //导入方法依赖的package包/类
@Test
public final void testCtasWithoutTableDefinition() throws Exception {
  ResultSet res = executeQuery();
  res.close();

  String tableName = CatalogUtil.normalizeIdentifier("testCtasWithoutTableDefinition");
  CatalogService catalog = testBase.getTestingCluster().getMaster().getCatalog();
  String qualifiedTableName = buildFQName(DEFAULT_DATABASE_NAME, tableName);
  TableDesc desc = catalog.getTableDesc(qualifiedTableName);
  assertTrue(catalog.existsTable(qualifiedTableName));

  assertTrue(desc.getSchema().contains("default.testctaswithouttabledefinition.col1"));
  PartitionMethodDesc partitionDesc = desc.getPartitionMethod();
  assertEquals(partitionDesc.getPartitionType(), CatalogProtos.PartitionType.COLUMN);
  assertEquals("key", partitionDesc.getExpressionSchema().getColumns().get(0).getSimpleName());

  FileSystem fs = FileSystem.get(testBase.getTestingCluster().getConfiguration());
  Path path = desc.getPath();
  assertTrue(fs.isDirectory(path));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/key=17.0")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/key=36.0")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/key=38.0")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/key=45.0")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/key=49.0")));
  if (!testingCluster.isHCatalogStoreRunning()) {
    assertEquals(5, desc.getStats().getNumRows().intValue());
  }

  ResultSet res2 = executeFile("check1.sql");

  Map<Double, int []> resultRows1 = Maps.newHashMap();
  resultRows1.put(45.0d, new int[]{3, 2});
  resultRows1.put(38.0d, new int[]{2, 2});

  int i = 0;
  while(res2.next()) {
    assertEquals(resultRows1.get(res2.getDouble(3))[0], res2.getInt(1));
    assertEquals(resultRows1.get(res2.getDouble(3))[1], res2.getInt(2));
    i++;
  }
  res2.close();
  assertEquals(2, i);
}
 
开发者ID:gruter,项目名称:tajo-cdh,代码行数:44,代码来源:TestCTASQuery.java

示例15: testCtasWithColumnedPartition

import org.apache.tajo.catalog.TableDesc; //导入方法依赖的package包/类
@Test
public final void testCtasWithColumnedPartition() throws Exception {
  ResultSet res = executeQuery();
  res.close();

  String tableName = CatalogUtil.normalizeIdentifier("testCtasWithColumnedPartition");

  TajoTestingCluster cluster = testBase.getTestingCluster();
  CatalogService catalog = cluster.getMaster().getCatalog();
  TableDesc desc = catalog.getTableDesc(DEFAULT_DATABASE_NAME, tableName);
  assertTrue(catalog.existsTable(DEFAULT_DATABASE_NAME, tableName));
  PartitionMethodDesc partitionDesc = desc.getPartitionMethod();
  assertEquals(partitionDesc.getPartitionType(), CatalogProtos.PartitionType.COLUMN);
  assertEquals("key", partitionDesc.getExpressionSchema().getColumns().get(0).getSimpleName());

  FileSystem fs = FileSystem.get(cluster.getConfiguration());
  Path path = desc.getPath();
  assertTrue(fs.isDirectory(path));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/key=17.0")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/key=36.0")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/key=38.0")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/key=45.0")));
  assertTrue(fs.isDirectory(new Path(path.toUri() + "/key=49.0")));
  if (!cluster.isHCatalogStoreRunning()) {
    assertEquals(5, desc.getStats().getNumRows().intValue());
  }

  ResultSet res2 = executeFile("check2.sql");

  Map<Double, int []> resultRows1 = Maps.newHashMap();
  resultRows1.put(45.0d, new int[]{3, 2});
  resultRows1.put(38.0d, new int[]{2, 2});

  int i = 0;
  while(res2.next()) {
    assertEquals(resultRows1.get(res2.getDouble(3))[0], res2.getInt(1));
    assertEquals(resultRows1.get(res2.getDouble(3))[1], res2.getInt(2));
    i++;
  }
  res2.close();
  assertEquals(2, i);
}
 
开发者ID:gruter,项目名称:tajo-cdh,代码行数:43,代码来源:TestCTASQuery.java


注:本文中的org.apache.tajo.catalog.TableDesc.getPath方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。