@Override public String toString() { return this.getName(); }
public synchronized void setDDFName(DDF ddf, String name) throws DDFException { if(!Strings.isNullOrEmpty(name)) { if (!Strings.isNullOrEmpty(ddf.getName())) { this.mNames.remove(ddf.getName()); } ddf.setName(name); this.mNames.put(name, ddf.getUUID()); } else { throw new DDFException(String.format("DDF's name cannot be null or empty")); } }
public synchronized void setDDFUUID(DDF ddf, UUID uuid) throws DDFException { if(this.hasDDF(uuid)) { throw new DDFException(String.format("DDF with uuid %s already exists", uuid)); } else { //remove old key UUID prevUUID = ddf.getUUID(); if(prevUUID != null) { mDDFs.remove(prevUUID); } ddf.setUUID(uuid); mDDFs.put(uuid, ddf); if(ddf.getName()!= null) { mNames.remove(ddf.getName()); mNames.put(ddf.getName(), ddf.getUUID()); } } }
/** * @brief Show tables in the database. * @return The table names. */ public SqlResult showTables() throws DDFException { List<String> tableNames = new ArrayList<String>(); for (DDF ddf : this.getManager().listDDFs()) { if (ddf.getName() != null) { tableNames.add(ddf.getName()); } } List<Column> columnList = new ArrayList<Column>(); columnList.add(new Column("table_name", Schema.ColumnType.STRING)); Schema schema = new Schema("tables", columnList); return new SqlResult(schema, tableNames); }
protected String getSchemaFileName() throws DDFException { // return this.getFilePath(this.getDDF().getNamespace(), this.getDDF().getName(), ".sch"); return this.getFilePath("adatao", this.getDDF().getName(), ".sch"); }
protected String getDataFileName() throws DDFException { // return this.getFilePath(this.getDDF().getNamespace(), this.getDDF().getName(), ".dat"); return this.getFilePath("adatao", this.getDDF().getName(), ".dat"); }
@Override public DDF copyFrom(DDF ddf, String tgtname) throws DDFException { mLog.info(String.format(">>> Copy new ddf %s from ddf %s", tgtname, ddf.getName())); DDFManager fromManager = ddf.getManager(); DataSourceDescriptor dataSourceDescriptor = fromManager.getDataSourceDescriptor(); if (dataSourceDescriptor instanceof JDBCDataSourceDescriptor) { // It's a jdbc ddf. JDBCDataSourceDescriptor jdbcDS = (JDBCDataSourceDescriptor) dataSourceDescriptor; JDBCDataSourceDescriptor loadDS = new JDBCDataSourceDescriptor(jdbcDS.getDataSourceUri(), jdbcDS.getCredentials(), ddf.getTableName()); DDF tgtddf = this.load(loadDS); this.setDDFName(tgtddf, tgtname); return tgtddf; } else { throw new DDFException("Unsupported operation in copyFrom"); } }
@Test public void testTransformNativeRserve() throws DDFException { DDF newddf = ddf.Transform.transformNativeRserve("newcol = deptime / arrtime"); System.out.println("name " + ddf.getName()); System.out.println("newname " + newddf.getName()); List<String> res = ddf.VIEWS.head(10); //Assert.assertFalse(ddf.getName().equals(newddf.getName())); Assert.assertNotNull(newddf); Assert.assertEquals("newcol", newddf.getColumnName(8)); Assert.assertEquals(10, res.size()); }
@Ignore public void testTransformMapReduceNative() throws DDFException { // aggregate sum of month group by year String mapFuncDef = "function(part) { keyval(key=part$year, val=part$month) }"; String reduceFuncDef = "function(key, vv) { keyval.row(key=key, val=sum(vv)) }"; DDF newddf = ddf.Transform.transformMapReduceNative(mapFuncDef, reduceFuncDef); System.out.println("name " + ddf.getName()); System.out.println("newname " + newddf.getName()); Assert.assertNotNull(newddf); Assert.assertTrue(newddf.getColumnName(0).equals("key")); Assert.assertTrue(newddf.getColumnName(1).equals("val")); Assert.assertTrue(newddf.getSchemaHandler().getColumns().get(0).getType() == ColumnType.STRING); Assert.assertTrue(newddf.getSchemaHandler().getColumns().get(1).getType() == ColumnType.INT); }
@Test public void testDDFMAnager() throws DDFException { DDF ddf = this.getTestDDF(); DDFManager manager = this.getDDFManager(); manager.setDDFName(ddf, "myddf"); UUID newUUID = UUID.randomUUID(); manager.setDDFUUID(ddf, newUUID); DDF ddf1 = manager.getDDFByName(ddf.getName()); Assert.assertEquals(ddf1.getUUID(), ddf.getUUID()); Assert.assertEquals(ddf1.getUUID(), newUUID); }
@Test(expected = DDFException.class) public void testRenamingDDF() throws DDFException { DDF ddf = this.getTestDDF(); DDFManager manager = this.getDDFManager(); manager.setDDFName(ddf, "myddf1"); String name1 = ddf.getName(); manager.setDDFName(ddf, "myddf2"); manager.getDDFByName(name1); }