public void generateSplitBatchHbaseDataFiles() {
		long beforetime = System.currentTimeMillis();
		// Generate table split key file
		SplitRowKeyGenerator.generateSplitKeysFile();

		if (!RUNTIME_BATCH_GEN) {
			List<List<ETKey>> dataRegionIndexes = SplitRowKeyGenerator
					.getDataRegionIndex();
			// Generate data such that you have 1 bulk per ET from each region
			// sequenced one after the other
			int univKeyCtr = 0;
			int keysInserted = 0;
			for (int keys = 0; keys < TOTAL_KEYS; keys = keysInserted) {
				MyLogger.mylogger.info("SplitKey Info 1: Generating keys upto "
						+ keys + " of TOTAL_KEYS " + TOTAL_KEYS);
				for (int dataInSplitIndex = 0; dataInSplitIndex < SplitRowKeyGenerator.NUM_ETS_PER_SPLIT; dataInSplitIndex++) {
					// MyLogger.mylogger.info("SplitKey Info 2: Generating dataInSplitIndex from 0 to "
					// + SplitRowKeyGenerator.NUM_ETS_PER_SPLIT);
					for (int splitRegion = 0; splitRegion < SplitRowKeyGenerator.NUM_REGION_SPLITS; splitRegion++) {
						// MyLogger.mylogger.info("SplitKey Info 3: splitRegion from 0 to "
						// + SplitRowKeyGenerator.NUM_REGION_SPLITS);
						ETKey etkey = dataRegionIndexes.get(splitRegion).get(
								dataInSplitIndex);
						// MyLogger.mylogger.info("SplitKey Info 4: splitRegion "
						// + splitRegion + " dataInSplitIndex " +
						// dataInSplitIndex);
						for (int key = 0; key < INSERT_BULK; key++) {
							// MyLogger.mylogger.info("SplitKey Info 5: key from 0 to "
							// + INSERT_BULK);
							String[] userData = new String[hbaseFileHeader.length];
							userData[0] = generateRowKey(etkey.getXchgIndex(),
									etkey.getTopicIndex(), univKeyCtr++);
							userData[1] = hbaseFileHeader[1];
							// If generate keys only do not populate data
							// random data values will be generated at the time
							// of insertion
							if (!GENERATE_KEYS_ONLY) {
								userData[2] = RandomKeyUtils
										.getFixedString(MAX_DATA_LENGTH);
							}
							testDataFileWriter.writeNext(userData);
							keysInserted++;
						}
					}
				}
				MyLogger.mylogger.severe("SplitKey Info 1: keysInserted "
						+ keysInserted);
			}
		}
		long optime = System.currentTimeMillis() - beforetime;
		MyLogger.mylogger.finer("HBase Data File generation : Action="
				+ "generateSplitBatchHbaseDataFiles" + " StartTime="
				+ beforetime + " OperationTime=" + optime);

		printDataSummary();
		// Close the data File
		try {
			testDataFileWriter.close();
		} catch (IOException e) {
			MyLogger.mylogger
					.severe("Exception caught in generateHbaseDataFiles " + e.getMessage() + Arrays.toString(e.getStackTrace()));
		}
	}