2016-10-19 2 views
-1

나는 내가 불행하게도 방해석 현재 수정을 지원하지 않습니다 우는 오류아파치의 데이터가

Exception in thread "main" java.sql.SQLException: Error while executing SQL "INSERT into "CSV"."p"("Name") select 'p' from "TRUNKDB"."nbmdc_nanomarts"": Node [rel#29:Subset#3.ENUMERABLE.[]] could not be implemented; planner state: 

Root: rel#29:Subset#3.ENUMERABLE.[] 
Original rel: 


    Sets: 
    Set#0, type: RecordType(VARCHAR(45) row_id, VARCHAR(45) si_id, VARCHAR(500) name, VARCHAR(500) description, VARCHAR(255) icon_path, 
VARCHAR(255) icon_content, VARCHAR(255) active_flag, TIMESTAMP(3) 
created_datetime, VARCHAR(45) created_by_user_id, TIMESTAMP(3) 
updated_datetime, VARCHAR(45) updated_by_user_id, VARCHAR(500) 
nanomart_xml_filepath, VARCHAR(255) db_username, VARCHAR(255) 
db_user_password, VARCHAR(255) dbase_name, VARCHAR(255) db_url, 
VARCHAR(255) db_schema_name, CHAR(1) is_mandatory, CHAR(1) 
is_load_lock, VARCHAR(45) mart_type, VARCHAR(255) db_driver, 
VARCHAR(255) load_frequency, CHAR(1) is_date_table, CHAR(1) is_alias, 
VARCHAR(500) nbmdc_n, VARCHAR(45) master_flag, VARCHAR(50) 
nbmdm_repository_row_id, CHAR(1) is_hierarchical, VARCHAR(4000) 
inplacedetail) 
     rel#8:Subset#0.JDBC.TRUNKDB.[], best=rel#0, importance=0.6561 
      rel#0:JdbcTableScan.JDBC.TRUNKDB.[](table=[TRUNKDB, nbmdc_nanomarts]), rowcount=100.0, cumulative cost={100.0 rows, 101.0 
cpu, 0.0 io} 

답변

0

납니다

Class.forName("org.apache.calcite.jdbc.Driver"); 
Connection connection = DriverManager.getConnection("jdbc:calcite:"); 
CalciteConnection calciteConnection = connection.unwrap(CalciteConnection.class); 
SchemaPlus rootSchema = calciteConnection.getRootSchema(); 
JdbcSchema jdbcSchema = JdbcSchema.create(rootSchema, "TRUNKDB", dataSource, null, "dbo");  
rootSchema.add("XXXX", jdbcSchema); 

/*CSV Schema*/ 
File csvDir = new File("/home/nanobi/Drill/CSV/"); 
// SchemaPlus schema = rootSchema.add("s", new CsvSchema(csvDir,null)); 
rootSchema.add("CSV", new CsvSchema(csvDir, Flavor.SCANNABLE)); 

Statement statement = connection.createStatement(); 

int resultSet = statement.executeUpdate("INSERT into \"CSV\".\"p\"(\"Name\") select \"name\" from \"TRUNKDB\".\"nbmdc_nanomarts\""); 

을 방해석 아파치를 통해 파일 데이터 폼 SQL을 삽입하고있어 방해석 삽입하는 방법 CSV 파일 수정은 JDBC 테이블에서만 수행되었습니다.

+0

statement.executeUpdate ("TRUNKDB \"테이블 3 \ "(\"이름 \ ")에 삽입하면 \"CSV \ "에서 b.BRANCH_CODE를 선택합니다. \"branchmerge \ "b"); 이제는 MSSQL에 삽입 할 때 동일한 오류가 표시됩니다. –

+0

미안하지만 분명하지 않습니다. 수정 지원이 즉시 작동하지 않습니다. 이 분야에서 몇 가지 작업이 있었지만 지원이 완전하지 않습니다. –