/// <exception cref="System.IO.IOException"/> public virtual void TestSetOutput() { Job job = Job.GetInstance(new Configuration()); DBOutputFormat.SetOutput(job, "hadoop_output", fieldNames); DBConfiguration dbConf = new DBConfiguration(job.GetConfiguration()); string actual = format.ConstructQuery(dbConf.GetOutputTableName(), dbConf.GetOutputFieldNames ()); NUnit.Framework.Assert.AreEqual(expected, actual); job = Job.GetInstance(new Configuration()); dbConf = new DBConfiguration(job.GetConfiguration()); DBOutputFormat.SetOutput(job, "hadoop_output", nullFieldNames.Length); NUnit.Framework.Assert.IsNull(dbConf.GetOutputFieldNames()); NUnit.Framework.Assert.AreEqual(nullFieldNames.Length, dbConf.GetOutputFieldCount ()); actual = format.ConstructQuery(dbConf.GetOutputTableName(), new string[dbConf.GetOutputFieldCount ()]); NUnit.Framework.Assert.AreEqual(nullExpected, actual); }
/// <summary> /// <inheritDoc/> /// /// </summary> /// <exception cref="System.IO.IOException"/> public override RecordWriter <K, V> GetRecordWriter(TaskAttemptContext context) { DBConfiguration dbConf = new DBConfiguration(context.GetConfiguration()); string tableName = dbConf.GetOutputTableName(); string[] fieldNames = dbConf.GetOutputFieldNames(); if (fieldNames == null) { fieldNames = new string[dbConf.GetOutputFieldCount()]; } try { Connection connection = dbConf.GetConnection(); PreparedStatement statement = null; statement = connection.PrepareStatement(ConstructQuery(tableName, fieldNames)); return(new DBOutputFormat.DBRecordWriter(this, connection, statement)); } catch (Exception ex) { throw new IOException(ex.Message); } }