Most answers here ignore that match is WINDOW LOCAL ONLY! Highly commented code below to explain how to add match for a certain filetypes only.
The question asked is "In Vim how I can set a local match only for a specific filetype?" Below answers that, but for the case of trailing whitespace instead of colour column.
" Create a highlight group with the colours we wish to apply
hi _MatchTrailingWhitespace guibg=#880000 " Highlight trailing whitespace
function! AddWindowMatches()
" match is WINDOW LOCAL ONLY, so we have to jump through some hoops to
" make it apply to buffers only. i.e. we cant just use :setlocal match!
" First clear all matches on the window, then we will add back the matches
" required for each file type
call clearmatches()
" TRAILING WHITESPACE
" Must escape the plus, match one or more space before the end of line
" match trailing whitespace, except when typing at the end of a line.
" If the filetype is python or javascript
if index(['python', 'javascript'], &ft) >= 0
" Can use the :match command, or the matchadd() function which returns a handle
" to the match, so it can easily be cleared with matchdelete(), not used here
"match _MatchTrailingWhitespace /\s\+$/
let w:match_trailing_space_id = matchadd('_MatchTrailingWhitespace', '\s\+$', -1)
endif
endfunction
augroup add_window_matches
autocmd!
autocmd BufWinEnter * :call myal#AddWindowMatches()
augroup END
Refer to :help :match
and :help matchadd()