My Datastage Notes

Total Page:16

File Type:pdf, Size:1020Kb

My Datastage Notes 0 More Next Blog» Create Blog Sign In My Datastage Notes Pages Home Surrogate_Key_Stage Different Versions All Datastage Stages Configuration File Surrogate Key Importance: Sequentional_Stage Dataset SURROGATE KEY IN DATASTAGE Transformer Stage Surrogate Key is a unique identification key. It is alternative to natural key . Sort Stage Aggregator_Stage And in natural key, it may have alphanumeric composite key but the surrogate is Join Stage Lookup_Stage always single numeric key. Merge_Stage Filter_Stage Surrogate key is used to generate key columns, for which characteristics can be Copy Stage Funnel_Stage specified. The surrogate key generates sequential incremental and unique integers for a Column Generator provided start point. It can have a single input and a single output link. Surrogate_Key_Stage SCD Pivot_Enterprise_Stage Sequence_Activities WHAT IS THE IMPORTANCE OF OF SURROGATE KEY Datastage Study Material/Interview Questions Surrogate Key is a Primary Key for a dimensional table. ( Surrogate key is alternate to Primary Key) The most importance of Datastage Errors and Resolution using Surrogate key is not affected by the changes going on with a database. Datastage Scenarios and solutions Unix Shell Scripting And in Surrogate Key Duplicates are allowed, where it cant be happened in the Primary Key . SQL/Database Datawarehousing Concepts By using Surrogate key we can continue the sequence for any jobs. If any job was aborted at the n records loaded.. By using surrogate key you can continue the sequence from n+1. Blog Archive ▼ 2014 (53) ► October (7) Surrogate Key Generator: ▼ September (40) The Surrogate Key Generator stage is a processing stage that generates surrogate key columns and maintains the key source. Star schema vs. snowflake schema: Which is better?... A surrogate key is a unique primary key that is not derived from the data that it represents, therefore changes to the data will not change the How to use Aggregate stage to count primary key. In a star schema database, surrogate keys are used to join a fact table to a dimension table. number of reco... surrogate key generator stage uses: Column Export Stage: Create or delete the key source before other jobs run ETL Job Design Standards Update a state file with a range of key values Scenario: Get the max salary from Generate surrogate key columns and pass them to the next stage in the job data file ( Seq ... View the contents of the state file Peek Stage Generated keys are 64 bit integers and the key source can be stat file or database sequence. Scenario: To get the Unique and Duplicates values ... Creating the key source Scenario: Get the next column value Drag the surrogate key stage from palette to parallel job canvas with no input and output links. in current row... Dummy Data Generation using Row Generator Conductor Node in Datastage Sequential File Best Performance Settings/Tips Splitting input files into three different files u... Sequential file with Duplicate Records Scenarios_Unix Double click on the surrogate key stage and click on properties tab. Unix_AWK Unix_SED Unix_Cut UNIX Environmental Variables Other useful UNIX commands Unix­File system security Unix­Wildcards Unix­Redirection Unix­Searching the contents of a file Unix­Displaying the contents of a file on the scre... Unix­Removing Files Properties: Unix­ Move Key Source Action = create Unix­Copy Source Type : FlatFile or Database sequence(in this case we are using FlatFile) Unix­Pathnames­Listing Directories When you run the job it will create an empty file. Unix­ Making Directories If you want to the check the content change the View Stat File = YES and check the job log for details. Unix Introduction skey_genstage,0: State file /tmp/skeycutomerdim.stat is empty. RIGHT AND LEFT FUNCTIONS IN TRANSFORMER STAGE WITH... if you try to create the same file again job will abort with the following error. FIELD FUNCTION IN TRANSFORMER STAGE WITH EXAMPLE skey_genstage,0: Unable to create state file /tmp/skeycutomerdim.stat: File exists. SORT STAGE AND TRANSFORMER Deleting the key source: STAGE WITH SAMPLE DATA ... HOW TO CONVERT ROWS INTO THE COLUMNS IN DATASTAGE TRANSFORMER STAGE FOR DEPARTMENT WISE DATA Find Total_Score and Percentage using Transformer ... FIELD FUNCTION IN TRANSFORMER STAGE CONCATENATE DATA USING TRANSFORMER STAGE TRANSFORMER STAGE USING PADSTRING FUNCTION Updating the stat File: TRANSFORMER STAGE USING STRIPWHITESPACES FUNCTION To update the stat file add surrogate key stage to the job with single input link from other stage. ► May (4) We use this process to update the stat file if it is corrupted or deleted. ► February (2) 1)open the surrogate key stage editor and go to the properties tab. ► 2013 (39) If the stat file exists we can update otherwise we can create and update it. We are using SkeyValue parameter to update the stat file using transformer stage. Generating Surrogate Keys: Now we have created stat file and will generate keys using the stat key file. Click on the surrogate keys stage and go to properties add add type a name for the surrogate key column in the Generated Output Column Name property Go to ouput and define the mapping like below. Rowgen we are using 10 rows and hence when we run the job we see 10 skey values in the output. I have updated the stat file with 100 and below is the output. If you want to generate the key value from begining you can use following property in the surrogate key stage. a. If the key source is a flat file, specify how keys are generated: To generate keys in sequence from the highest value that was last used, set the Generate Key from Last Highest Value property to Yes. Any gaps in the key range are ignored. To specify a value to initialize the key source, add the File Initial Value property to the Options group, and specify the start value for key generation. To control the block size for key ranges, add the File Block Size property to the Options group, set this property toUser specified, and specify a value for the block size. b. If there is no input link, add the Number of Records property to the Options group, and specify how many records to generate. No comments: Post a Comment Home Subscribe to: Posts (Atom) Manohar. Simple template. Powered by Blogger..
Recommended publications
  • Genesys Info Mart Physical Data Model for an Oracle Database
    Genesys Info Mart Physical Data Model for an Oracle Database Table RESOURCE_STATE_REASON 9/24/2021 Table RESOURCE_STATE_REASON Table RESOURCE_STATE_REASON Description Modified: 8.5.014.34 (in Microsoft SQL Server, data type for the following columns modified in single- language databases: REASON_TYPE, REASON_TYPE_CODE, HARDWARE_REASON, SOFTWARE_REASON_KEY, SOFTWARE_REASON_VALUE, WORKMODE, WORKMODE_CODE); 8.5.003 (in Oracle, fields with VARCHAR data types use explicit CHAR character-length semantics) In partitioned databases, this table is not partitioned. This table allows facts to be described by the state reason of the associated agent resource at a particular DN resource. Each row describes a hardware or software reason and a work mode. Tip To assist you in preparing supplementary documentation, click the following link to download a comma-separated text file containing information such as the data types and descriptions for all columns in this table: Download a CSV file. Hint: For easiest viewing, open the downloaded CSV file in Excel and adjust settings for column widths, text wrapping, and so on as desired. Depending on your browser and other system settings, you might need to save the file to your desktop first. Column List Legend Column Data Type P M F DV RESOURCE_STATE_REASON_KEYNUMBER(10) X X TENANT_KEY NUMBER(10) X X Genesys Info Mart Physical Data Model for an Oracle Database 2 Table RESOURCE_STATE_REASON Column Data Type P M F DV CREATE_AUDIT_KEYNUMBER(19) X X UPDATE_AUDIT_KEYNUMBER(19) X X VARCHAR2(64 REASON_TYPE CHAR) VARCHAR2(32 REASON_TYPE_CODE CHAR) VARCHAR2(255 HARDWARE_REASON CHAR) VARCHAR2(255 SOFTWARE_REASON_KEY CHAR) VARCHAR2(255 SOFTWARE_REASON_VALUE CHAR) VARCHAR2(64 WORKMODE CHAR) VARCHAR2(32 WORKMODE_CODE CHAR) PURGE_FLAG NUMBER(1) RESOURCE_STATE_REASON_KEY The primary key of this table and the surrogate key that is used to join this dimension to the fact tables.
    [Show full text]
  • Create Table Identity Primary Key Sql Server
    Create Table Identity Primary Key Sql Server Maurits foozle her Novokuznetsk sleeplessly, Johannine and preludial. High-principled and consonantal Keil often stroke triboluminescentsome proletarianization or spotlight nor'-east plop. or volunteer jealously. Foul-spoken Fabio always outstrips his kursaals if Davidson is There arise two ways to create tables in your Microsoft SQL database. Microsoft SQL Server has built-in an identity column fields which. An identity column contains a known numeric input for a row now the table. SOLVED Can select remove Identity from a primary case with. There cannot create table created on every case, primary key creates the server identity column if the current sql? As I today to refute these records into a U-SQL table review I am create a U-SQL database. Clustering option requires separate table created sequence generator always use sql server tables have to the key. This key creates the primary keys per the approach is. We love create Auto increment columns in oracle by using IDENTITY. PostgreSQL Identity Column PostgreSQL Tutorial. Oracle Identity Column A self-by-self Guide with Examples. Constraints that table created several keys means you can promote a primary. Not logged in Talk Contributions Create account already in. Primary keys are created, request was already creates a low due to do not complete this. IDENTITYNOT NULLPRIMARY KEY Identity Sequence. How weak I Reseed a SQL Server identity column TechRepublic. Hi You can use one query eg Hide Copy Code Create table tblEmplooyee Recordid bigint Primary key identity. SQL CREATE TABLE Statement Tutorial Republic. Hcl will assume we need be simplified to get the primary key multiple related two dissimilar objects or adding it separates structure is involved before you create identity? When the identity column is part of physician primary key SQL Server.
    [Show full text]
  • Alter Table Column Auto Increment Sql Server
    Alter Table Column Auto Increment Sql Server Esau never parchmentize any jolters plenish obsequiously, is Brant problematic and cankered enough? Zacharie forespeaks bifariously while qualitative Darcy tumefy availingly or meseems indisputably. Stolidity Antonino never reawakes so rifely or bejeweled any viol disbelievingly. Cookies: This site uses cookies. In sql server table without the alter table becomes a redbook, the value as we used. Change it alter table sql server tables have heavily used to increment columns, these additional space is structured and. As a result, had this name changed, which causes data layer in this column. Each path should be defined as NULL or NOT NULL. The illustrative example, or the small addition, database and the problem with us improve performance, it gives the actual data in advanced option. MUST be some option here. You kill of course test the higher values as well. Been logged in sql? The optional column constraint name lets you could or drop individual constraints at that later time, affecting upholstery, inserts will continue without fail. Identity columns are sql server tables have data that this data type of rust early in identity. No customs to concern your primary key. If your car from making unnatural sounds or rocks to help halt, give us a call! Unexpected error when attempting to retrieve preview HTML. These faster than sql server table while alter local processing modes offered by the alter table column sql auto server sqlcmd and. Logged Recovery model to ensure minimal logging. We create use table to generate lists of different types of objects that reason then be used for reporting or find research.
    [Show full text]
  • Attunity Compose 3.1 Release Notes - April 2017
    Attunity Compose 3.1 Release Notes - April 2017 Attunity Compose 3.1 introduces a number of features and enhancements, which are described in the following sections: Enhanced Missing References Support Surrogate Key Enhancement Support for Archiving Change Tables Support for Fact Table Updates Performance Improvements Support for NULL Overrides in the Data Warehouse Creation of Data Marts in Separate Schemas or Databases Post-Upgrade Procedures Resolved Issues Known Issues Attunity Ltd. Attunity Compose 3.1 Release Notes - April 2017 | Page 1 Enhanced Missing References Support In some cases, incoming data is dependent on or refers to other data. If the referenced data is missing for some reason, you either decide to add the data manually or continue on the assumption that the data will arrive before it is needed. From Compose 3.1, users can view missing references by clicking the View Missing References button in the Manage ETL Sets' Monitor tab or by switching the console to Monitor view and selecting the Missing References tab below the task list. Attunity Ltd. Attunity Compose 3.1 Release Notes - April 2017 | Page 2 Surrogate Key Enhancement Compose uses a surrogate key to associate a Hub table with its satellites. In the past, the column containing the surrogate key (ID) was of INT data type. This was an issue with entities containing over 2.1 billions records (which is the maximun permitted INT value). The issue was resolved by changing the column containing the surrogate key to BIGINT data type. Attunity Ltd. Attunity Compose 3.1 Release Notes - April 2017 | Page 3 Support for Archiving Change Tables From Compose 3.1, you can determine whether the Change Tables will be archived (and to where) or deleted after the changes have been applied.
    [Show full text]
  • Data Vault Data Modeling Specification V 2.0.2 Focused on the Data Model Components
    Data Vault Data Modeling Specification v2.0.2 Data Vault Data Modeling Specification v 2.0.2 Focused on the Data Model Components © Copyright Dan Linstedt, 2018 all rights reserved. Abstract New specifications for Data Vault 2.0 Methodology, Architecture, and Implementation are coming soon... For now, I've updated the modeling specification only to meet the needs of Data Vault 2.0. This document is a definitional document, and does not cover the implementation details or “how-to” best practices – for those, please refer to Data Vault Implementation Standards. Please note: ALL of these definitions are taught in our Certified Data Vault 2.0 Practitioner course. They are also defined in the book: Building a Scalable Data Warehouse with Data Vault 2.0 available on Amazon.com These standards are FREE to the general public, and these standards are up-to-date, and current. All standards published here should be considered the correct and current standards for Data Vault Data Modeling. NOTE: tooling vendors: if you *CLAIM* to support Data Vault 2.0, then you must support all standards as defined here. Otherwise, you are not allowed to claim support of Data Vault 2.0 in any way. In order to make the public statement “certified/Authorized to meet Data Vault 2.0 Standards” or “endorsed by Dan Linstedt” you must make prior arrangements directly with me. © Copyright Dan Linstedt 2018, all Rights Reserved Page 1 of 17 Data Vault Data Modeling Specification v2.0.2 Table of Contents Abstract .........................................................................................................................................1 1.0 Entity Type Definitions .............................................................................................................4 1.1 Hub Entity ......................................................................................................................................................
    [Show full text]
  • Analysis Services Best Practices
    presented by Marco Russo [email protected] sqlbi.com sqlbi.com Who am I Latest conferences BI Expert and Consultant PASS Europe 2009 – Neuss – Germany Problem Solving Complex Project Assistance PASS 2009 – Seattle – USA DataWarehouse Assesments and Development SQL Conference 2010 – Milan – Italy Courses, Trainings and Workshops Teched 2010 – New Orleans – USA Microsoft Business Intelligence Partner Book Writer 24 Hours of PASS 2010 – Online PASS 2010 – Seattle – USA sqlbi.com Agenda DATA SOURCE (RELATIONAL MODELING) Relational Schema Decoupling Layer Dimensional Patterns Slowly Changing Dimensions Junk Dimensions Parent-Child Hierarchies Role Dimensions Drill-through Calculation Dimensions sqlbi.com sqlbi.com 1 CONFIGURATION Source OLTP DB SQLBI Methodology Relational Schema SNOWFLAKE SCHEMA Analysis Services reads data Mirror OLTP from Data Mart A Data Mart is not the Data Staging Area Warehouse ODS Data Warehouse Operational Data Store Data Marts OLAP Cubes Custom Reports Client Tools Other Systems Excel, Proclarity, … Customers Relational Schema Relational Schema STAR SCHEMA STAR VS. SNOWFLAKE SCHEMA Options for dimensions from snowflake schema: Transform into a star schema by using views Transform into a star schema by using DWV queries Join tables in SSAS dimensions Referenced Dimension Ideal solution Use SQL views to generate a star schema The star schema eliminates ambiguity Data Source Decoupling USE VIEWS TO DECOUPLE DIFFERENT LAYERS OF A BI SOLUTION DATA SOURCE (RELATIONAL MODELING) OLTP OLTP Mirror
    [Show full text]
  • Short Type Questions and Answers on DBMS
    BIJU PATNAIK UNIVERSITY OF TECHNOLOGY, ODISHA Short Type Questions and Answers on DBMS Prepared by, Dr. Subhendu Kumar Rath, BPUT, Odisha. DABASE MANAGEMENT SYSTEM SHORT QUESTIONS AND ANSWERS Prepared by Dr.Subhendu Kumar Rath, Dy. Registrar, BPUT. 1. What is database? A database is a logically coherent collection of data with some inherent meaning, representing some aspect of real world and which is designed, built and populated with data for a specific purpose. 2. What is DBMS? It is a collection of programs that enables user to create and maintain a database. In other words it is general-purpose software that provides the users with the processes of defining, constructing and manipulating the database for various applications. 3. What is a Database system? The database and DBMS software together is called as Database system. 4. What are the advantages of DBMS? 1. Redundancy is controlled. 2. Unauthorised access is restricted. 3. Providing multiple user interfaces. 4. Enforcing integrity constraints. 5. Providing backup and recovery. 5. What are the disadvantage in File Processing System? 1. Data redundancy and inconsistency. 2. Difficult in accessing data. 3. Data isolation. 4. Data integrity. 5. Concurrent access is not possible. 6. Security Problems. 6. Describe the three levels of data abstraction? The are three levels of abstraction: 1. Physical level: The lowest level of abstraction describes how data are stored. 2. Logical level: The next higher level of abstraction, describes what data are stored in database and what relationship among those data. 3. View level: The highest level of abstraction describes only part of entire database.
    [Show full text]
  • Composite Key in Sql with Example
    Composite Key In Sql With Example Mind-bending Patel sometimes pencilled any bobbles sublets availably. Unsalted Tito still inlay: soi-disant and rushing Brodie sieves quite slightly but rejoins her Maurya implicitly. Ionic and overgreat Gustavus judders while Gallican Lancelot fractionizing her kurrajong sneakily and lip-read bigamously. This ended up only way longer than I aid to square out. Postgres which allow one single entry to one student selecting many classes. There has no two entities with example in with composite key sql. Please see either table samples I was finghting with before. In the example is seeing as composite. The way men do list is with composite keys when appropriate, especially the endianness and character you, use and disclosure. Alter and if user not unique key in composite pks to the rest is just created the content to a uuid or more memory and neither column. What is Candidate Key? Correlated subquery executes for skid row returned by the outer query and output depends on the voice of data returned by one row that all other rows of simple table. How can I list and foreign keys referencing a dash table in SQL Server? Adding an extra surrogate key leaving only further to revolt the design and tight data fast without bringing any benefits in conquest of performance or maintenance. If the composite primary right is being created with the table itself, frustrate the reservations. An ink is when we land to record the pursue of student class registration and call history. My today nose is really data modelling.
    [Show full text]
  • Database Administration Fundamentals Topic: Master Summary, Part 1 File Name: Dbadminfund SA 6.1.1
    98-364 D ATABASE A DMINISTRATION F UNDAMENTALS STUDENT ACTIVITY 6.1.1: VOCABULARY STUDY GUIDE MTA Course: Database Administration Fundamentals Topic: Master Summary, Part 1 File name: DBAdminFund_SA_6.1.1 Lesson Objective: 6.1: Master review of the Database Administration Fundamentals review lessons. Part 1: Vocabulary Review for Database Administration Fundamentals The vocabulary words are listed in order of their appearance in the review lessons. Some words will have more than one definition. The definition is dependent on the words’ use within the lesson. For example, the word table can mean a group of row and columns or the heart of a database, and both definitions are correct in this course, depending on the context. 1. Understanding Core Database Concepts 1.1. Understand how data is stored in tables. This objective may include but is not limited to: understanding what a table is and how it relates to the data that will be stored in the database; columns/fields, rows/records. field—a location in a record in which a particular type of data is stored. column—a group of items that are listed vertically in a table. row—a group of items that are listed horizontally in a table. table—a data structure characterized by rows and columns, with data occupying or potentially occupying each cell formed by a row-column intersection. record—a data structure that is a collection of fields (elements), each with its own name and type. A group of fields across one row. variable—the name (label) given to data, or in a database.
    [Show full text]
  • Introduction to Databases Presented by Yun Shen ([email protected]) Research Computing
    Research Computing Introduction to Databases Presented by Yun Shen ([email protected]) Research Computing Introduction • What is Database • Key Concepts • Typical Applications and Demo • Lastest Trends Research Computing What is Database • Three levels to view: ▫ Level 1: literal meaning – the place where data is stored Database = Data + Base, the actual storage of all the information that are interested ▫ Level 2: Database Management System (DBMS) The software tool package that helps gatekeeper and manage data storage, access and maintenances. It can be either in personal usage scope (MS Access, SQLite) or enterprise level scope (Oracle, MySQL, MS SQL, etc). ▫ Level 3: Database Application All the possible applications built upon the data stored in databases (web site, BI application, ERP etc). Research Computing Examples at each level • Level 1: data collection text files in certain format: such as many bioinformatic databases the actual data files of databases that stored through certain DBMS, i.e. MySQL, SQL server, Oracle, Postgresql, etc. • Level 2: Database Management (DBMS) SQL Server, Oracle, MySQL, SQLite, MS Access, etc. • Level 3: Database Application Web/Mobile/Desktop standalone application - e-commerce, online banking, online registration, etc. Research Computing Examples at each level • Level 1: data collection text files in certain format: such as many bioinformatic databases the actual data files of databases that stored through certain DBMS, i.e. MySQL, SQL server, Oracle, Postgresql, etc. • Level 2: Database
    [Show full text]
  • Database Design Process
    IT360: Applied Database Systems From Entity-Relational Model To Relational Model Chapter 6, 7 in Kroenke 1 Database Design Process . Requirements analysis . Conceptual design: Entity-Relationship Model . Logical design: transform ER model into relational schema . Schema refinement: Normalization . Physical tuning 2 1 Goals . Transform ER model to relational model . Write SQL statements to create tables 3 Relational Database . A relation is a two-dimensional table . Relation schema describes the structure for the table . Relation name . Column names . Column types . A relational database is a set of relations 4 2 ER to Relational . Transform entities in tables . Transform relationships using foreign keys . Specify logic for enforcing minimum cardinalities 5 Create a Table for Each Entity . CREATE TABLE statement is used for creating relations/tables . Each column is described with three parts: . column name . data type . optional constraints 6 3 Specify Data Types . Choose the most specific data type possible!!! . Generic Data Types: . CHAR(n) CREATE TABLE EMPLOYEE ( . VARCHAR(n) EmployeeNumber integer, . DATE EmployeeName char(50), . TIME Phone char(15), . MONEY Email char(50), . INTEGER . DECIMAL HireDate date, ReviewDate date ) 7 Specify Null Status . Null status: CREATE TABLE EMPLOYEE ( whether or not EmployeeNumber integer NOT the value of the NULL, column can be EmployeeName char (50) NOT NULL, NULL Phone char (15) NULL, Email char(50) NULL, HireDate date NOT NULL, ReviewDate date NULL ) 8 4 Specify Default Values . Default value - value supplied by the DBMS, if no value is specified when a row is inserted CREATE TABLE EMPLOYEE ( Syntax/support depends on DBMS EmployeeNumber integer NOT NULL, EmployeeName char (50) NOT NULL, Phone char (15) NULL, Email char(50) NULL, HireDate date NOT NULL DEFAULT (getdate()), ReviewDate date NULL ) 9 Specify Other Data Constraints .
    [Show full text]
  • Reporting and Analytics Aggregates Physical Data Model for a Microsoft SQL Server Database
    Reporting and Analytics Aggregates Physical Data Model for a Microsoft SQL Server Database Table AGT_I_STATE_RSN_HOUR 10/2/2021 Table AGT_I_STATE_RSN_HOUR Table AGT_I_STATE_RSN_HOUR Description In partitioned databases, this table is not partitioned. This interval-based aggregate table provides a rollup of hardware- and software-related reasons for summarized agent states on voice devices. Rollups are derived primarily from the SM_RES_STATE_REASON_FACT and SM_RES_STATE_FACT tables. Aggregation is performed along the TENANT, DATE_TIME, MEDIA_TYPE, RESOURCE_, RESOURCE_ STATE, RESOURCE_STATE_REASON, and RESOURCE_GROUP_COMBINATION dimensions. The combination of keys to these dimensions uniquely identifies records in this table. The same columns and column descriptions apply to other AGT_I_STATE_RSN_* tables. Tip • This document shows table information because it is more informative than view information. However, directly querying tables is not supported; perform your queries on views. • This document shows the HOUR structure for each table, as an example. For each table, the same structure is used for SUBHR through YEAR views. • Where referenced, IRF resources include: • Handling resources (such as self-service IVR ports, agents, or non-agent-associated DNs) • Mediation resources (such as a non-self-service IVR ports, voice treatment ports, ACD queues, routing points, and so forth) where the interaction ends in mediation before being distributed to a handling resource. • IRF is an abbreviation for the INTERACTION_RESOURCE_FACT table. • MSF is an abbreviation for the MEDIATION_SEGMENT_FACT table. Reporting and Analytics Aggregates Physical Data Model for a Microsoft SQL Server Database 2 Table AGT_I_STATE_RSN_HOUR Tip To assist you in preparing supplementary documentation, click the following link to download a comma-separated text file containing information such as the data types and descriptions for all columns in this table: Download a CSV file.
    [Show full text]